51Reboot 运维开发
Golang 课程1.18开课
K8S 课程
Python 自动化进阶课程
Python 基础实战课程
运维前端课程
课程试听预约请扫码>>>
出处:https://tech.hatlonely.com/article/64
go 语言内置的 flag 的包实现了命令行参数的解析,flag 包使得开发命令行工具更为简单。
基本用法
package mainimport ( "fmt" "flag")func main() {
b := flag.Bool("b", false, "bool flag") s := flag.String("s", "hello golang", "string flag") flag.Parse() fmt.Println("b is", *b) fmt.Println("s is", *s)}
上面代码指定了两个选项:
bool 类型的 b 选项,默认值为 false,帮助信息 bool flag
string 类型的 s 选项,默认值为 hello golang,帮助信息 string flag
执行 go run main.go 将输出 b 和 s 的值
b is falses is hello golang
执行 go run main.go -b -s "hello world" 将修改 b 和 s 的值
b is trues is hello world
执行 go run main.go -h 可以打印帮助信息
Usage of main: -b bool flag -s string string flag (default "hello golang")
命令行语法
-b -i 100 -f=12.12 --s golang --d=20s
以 - 或者 -- 开头指定选项名,-