這是一個簡化的代碼片段:在實際項目中的上下文是,我有一個命令行應用程序,它解析輸入到程序的參數(shù),然后在提取命令名稱后解析剩余參數(shù)的各個命令。我每個命令都使用 FlagSet,但由于某種原因,它實際上永遠不會解析出標志:package mainimport ("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我在這里做錯了什么?
為什么 FlagSet 不能正確解析這些參數(shù)?
寶慕林4294392
2021-08-10 13:26:07