简介: Go语言内置的 flag 包实现了命令行参数的解析,flag 包使得开发命令行工具更为简单。
介绍
Go语言内置的 flag 包实现了命令行参数的解析,flag 包使得开发命令行工具更为简单。
go run main.go -name="lys" -age 21
os.Args获取
for idx, args := range os.Args {
fmt.Println("参数"+strconv.Itoa(idx)+":", args)
}
输出
参数0: C:\Users\ADMINI~1\AppData\Local\Temp\go-build1884770015\b001\exe\main.exe
参数1: -name=lys
参数2: -age
参数3: 21
flag包获取
var name string
var age int
flag.StringVar(&name, "name", "liuyunshengsir", "姓名")
flag.IntVar(&age, "age", 0, "年龄")
//解析命令行参数
flag.Parse()
fmt.Println("姓名:" + name)
fmt.Println("年龄:", age)
输出
姓名:lys
年龄: 21
debug配置launch.json设置参数
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"mode": "debug",
"program": "${workspaceFolder}/main.go",
"env": {
"CONFIG_FILE":"AAAAA.YAML"
},
"args": ["-name=刘云生 ","-age=21"]
}
]
}