为什么 FlagSet 不能正确解析这些参数?

这是一个简化的代码片段:在实际项目中的上下文是,我有一个命令行应用程序,它解析输入到程序的参数,然后在提取命令名称后解析剩余参数的各个命令。我每个命令都使用 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


我在这里做错了什么?


宝慕林4294392
浏览 193回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go