我不知道我理解這背後的例子(從here採取)的理由,也沒有人知道它試圖瞭解Go語言溝通:標誌命令行解析在golang
package main
import (
"flag"
"fmt"
)
func main() {
f := flag.NewFlagSet("flag", flag.ExitOnError)
f.Bool("bool", false, "this is bool flag")
f.Int("int", 0, "this is int flag")
visitor := func(a *flag.Flag) {
fmt.Println(">", a.Name, "value=", a.Value)
}
fmt.Println("Visit()")
f.Visit(visitor)
fmt.Println("VisitAll()")
f.VisitAll(visitor)
// set flags
f.Parse([]string{"-bool", "-int", "100"})
fmt.Println("Visit() after Parse()")
f.Visit(visitor)
fmt.Println("VisitAll() after Parse()")
f.VisitAll(visitor)
}
沿東西線設置的他們卻再加入
int_val := f.get("int")
獲得命名參數似乎更加有用。我對Go完全陌生,所以只是想熟悉這門語言。
https://gobyexample.com/command-line-flags就是一個很好的例子。 – elithrar
如果您想傳遞參數以解析程序f.Parse([] string {「 - bool」,「-int」,「100」})''的代碼,則需要FlagSet。全局的'flag.Parse()'函數不接受一個參數來解析。這個代碼示例可以在遊覽代碼區的地方運行,您不能提供命令行參數。 – chmike