go 启动命令行传递参数

简介: 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"]
        }
    ]
}
相关文章
|
7月前
|
Go
Go语言中的默认参数和可选参数详解
【2月更文挑战第22天】
767 2
|
7月前
|
存储 Go
Go 语言函数、参数和返回值详解
函数是一组语句,可以在程序中重复使用。函数不会在页面加载时自动执行。函数将通过调用函数来执行。
125 0
|
7天前
|
Go 数据安全/隐私保护 UED
优化Go语言中的网络连接:设置代理超时参数
优化Go语言中的网络连接:设置代理超时参数
|
3月前
|
Go
Go to Learn Go之命令行参数
Go to Learn Go之命令行参数
36 8
|
4月前
|
存储 Go UED
精通Go语言的命令行参数解析
【8月更文挑战第31天】
50 0
|
4月前
|
Go
【go笔记】使用标准库flag解析命令行参数
【go笔记】使用标准库flag解析命令行参数
|
5月前
|
存储 Go 索引
在go语言中自定义泛型的变长参数
【7月更文挑战第8天】在Go语言中,由于官方1.18以前的版本不支持泛型,可以通过空接口和反射模拟泛型。泛型适用于通用数据结构和函数,虽牺牲了一些性能,但提高了代码复用和类型安全性。
70 1
Go使用命令行输出二维码
Go使用命令行输出二维码
|
Go
Go 语言怎么使用变长参数函数?
Go 语言怎么使用变长参数函数?
57 0
|
7月前
|
Go 数据处理
Go杂记1-切片Slice作为函数参数那点事儿
Go杂记1-切片Slice作为函数参数那点事儿
44 0