这是一个简化的代码片段:在实际项目中的上下文是,我有一个命令行应用程序,它解析输入到程序的参数,然后在提取命令名称后解析剩余参数的各个命令。我每个命令都使用 FlagSet,但由于某种原因,它实际上永远不会解析出标志:
package main
import (
"fmt"
"flag"
)
func main() {
args := []string{"arg", "-flag", "value"}
flags := flag.NewFlagSet("flags", flag.ExitOnError)
flagValue := flags.String("flag", "defaultValue", "")
flags.Parse(args)
fmt.Println(flags.Args(), *flagValue)
}
我希望输出为:[arg] value,但我得到:[arg -flag value] defaultValue
代码:http : //play.golang.org/p/D4RKPpVODF
我在这里做错了什么?
相关分类