我已经阅读了以下两个用于创建标志的库的文档。 :
而且还没有找到一种方法来做可选的标志。如何做到这一点?
根据 https://gobyexample.com/command-line-flags 中的代码:
package main
import "flag"
import "fmt"
func main() {
boolPtr := flag.Bool("fork", false, "a bool")
fmt.Println("fork:", *boolPtr)
}
并执行: $ ./command-line-flags -fork
结果应该是 true,这是我想要的行为,但我在我的机器上得到的是 false。
任何指导将不胜感激, 谢谢
最佳答案
你必须parse the flags在定义所有标志之后和访问标志之前:
func main() {
boolPtr := flag.Bool("fork", false, "a bool")
flag.Parse() // add this line
fmt.Println("fork:", *boolPtr)
}
通过此更改,fork
标志将按预期工作。
关于go - 如何在 Go CLI 程序中输入不带参数的可选标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34388593/