lol*_*ter 18 go command-line-arguments
我不确定我理解这个例子背后的原因(从这里开始),也不知道它试图传达的关于Go语言的内容:
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)
}
Run Code Online (Sandbox Code Playgroud)
他们有一些设置,但随后添加了一个
int_val := f.get("int")
Run Code Online (Sandbox Code Playgroud)
获得命名参数似乎更有用.我是Go的新手,所以只是试着熟悉这门语言.
mec*_*ind 44
这是一个复杂的使用例子 flag
包的.通常以这种方式设置标志:
package main
import "flag"
// note, that variables are pointers
var strFlag = flag.String("long-string", "", "Description")
var boolFlag = flag.Bool("bool", false, "Description of flag")
func init() {
// example with short version for long flag
flag.StringVar(strFlag, "s", "", "Description")
}
func main() {
flag.Parse()
println(*strFlag, *boolFlag)
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
41391 次 |
最近记录: |