猿问

如何在 Go CLI 程序中输入不带参数的可选标志

我已阅读以下用于创建标志的两个库的文档。:


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 执行


应该导致真,这是我想要的行为,但我在我的机器上变得假了。


任何指导将不胜感激,谢谢


当年话下
浏览 161回答 1
1回答

慕桂英4014372

您必须在定义所有标志之后和访问标志之前解析标志:func main() {  boolPtr := flag.Bool("fork", false, "a bool")  flag.Parse()  // add this line  fmt.Println("fork:", *boolPtr)}通过此更改,该fork标志将按要求工作。
随时随地看视频慕课网APP

相关分类

Go
我要回答