简介: 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 stringvar age intflag.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"]}]}
