go中flag的使用
# 介绍
在 Go 编程语言中,标准库提供了 flag
包来处理命令行参数。这个包允许你定义和解析命令行参数,并将它们转换成相应的变量值。
# 快速使用
package main
import (
"flag"
"fmt"
)
func main() {
// 定义命令行参数对应的变量
var name string
var age int
// 使用 flag 包定义命令行参数
flag.StringVar(&name, "name", "defaultName", "Your name")
flag.IntVar(&age, "age", 0, "Your age")
// 解析命令行参数
flag.Parse()
// 输出解析后的参数值
fmt.Println("Name:", name)
fmt.Println("Age:", age)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
在这个示例中,flag.StringVar
和 flag.IntVar
函数用于定义命令行参数,它们接受参数变量的地址、命令行参数名称、默认值以及参数的描述。flag.Parse()
被用来解析命令行参数。你可以在命令行中使用 -name
和 -age
参数来传递相应的值。
运行示例程序时,你可以这样传递参数:
go run main.go -name Alice -age 25
1
这将输出:
makefileCopy code
Name: Alice
Age: 25
1
2
3
2
3
如果你不提供命令行参数,则会使用默认值。
编辑 (opens new window)
上次更新: 2024/02/22, 14:03:19