flag
-flag
--flag // double dashes are also permitted
-flag=x
-flag x // non-boolean flags only1 变量
var ErrHelp = errors.New("flag: help requested")var Usage = func() {
fmt.Fprintf(CommandLine.Output(), "Usage of %s:\n", os.Args[0])
PrintDefaults()
}2 定义命令行参数
port := flag.Int("port", 8080, "端口号") // 整数类型
debug := flag.Bool("debug", false, "启用调试模式") // 布尔类型
name := flag.String("name", "guest", "用户名") // 字符串类型
// 调用`flag.Parse()`解析`os.Args`中的参数,必须在所有参数定义后调用。
flag.Parse()
// 通过解引用指针获取已解析的值:
fmt.Printf("Port: %d\n", *port)
fmt.Printf("Debug: %t\n", *debug)
fmt.Printf("Name: %s\n", *name)
// 可以将标志值绑定一个变量p
IntVar(p *int, name string, value int, usage string)3 Arg(i int) string
4 ** Parse()**
Parse()**5 Parsed() bool
Parsed() bool6 Visit(fn func(*Flag))
Visit(fn func(*Flag))7 Set(name, value string) error
Set(name, value string) error8 FlagSet
8.1 定义FlagSet
8.2 定义标志
最后更新于