go flag
flag 是Go 标准库提供的解析命令行参数的包。
使用方式:
flag.Type(name, defValue, usage)
其中Type为String, Int, Bool等;并返回一个相应类型的指针。
flag.TypeVar(&flagvar, name, defValue, usage)
将flag绑定到一个变量上。
自定义flag
只要实现flag.Value接口即可:
1 | type Value interface { |
通过如下方式定义该flag:
flag.Var(&flagvar, name, usage)
示例
1 | package main |
1 | $ ./command-line-flags |
1 | $ ./command-line-flags -name golang -age 4 -vip=true -pop 99 简洁 高并发 等等 |
1 | $ ./command-line-flags -h |