我已经阅读了用于创建标志的以下两个库的文档.:
https://golang.org/pkg/flag/
https://github.com/codegangsta/cli
并没有遇到过做可选标志的方法.如何才能做到这一点?
根据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
应该是真的,这是我想要的行为,但我在我的机器上变得虚假.
任何指导将不胜感激,谢谢
在定义所有标志之后和访问标志之前,您必须解析标志:
func main() { boolPtr := flag.Bool("fork", false, "a bool") flag.Parse() // add this line fmt.Println("fork:", *boolPtr) }
通过这种改变,fork
旗帜将按照愿望发挥作用.