一、简介
Go语言的flag标准库是用于解析命令行参数的库。我们可以使用flag标准库接受用户在命令行界面提供的参数和选项。
二、一个简单的实例
// flagDemo.go
package main
import (
"flag"
"fmt"
)
func main() {
// 定义命令行选项。Guest和0是默认值,在用户未提供参数时使用。第三个参数是说明。
name := flag.String("name", "Guest", "用户自己提供的姓名参数")
age := flag.Int("age", 0, "用户自己提供的年龄参数")
// 接收并解析命令行参数
flag.Parse()
// 使用选项的值,格式化打印
fmt.Printf("Hello, %s! You are %d years old.\n", *name, *age)
}
要调试这段代码,首先需要使用go build命令进行编译。
go build flagDemo.go
编译后,在运行可执行文件的命令的同时提供命令行参数
flagDemo -name Alice -age 25
运行结果如下:
如果不提供参数直接运行,运行结果如下:
三、其他
在示例代码中,有两个命令行选项:name和age
这两个选项的值将作为相应类型的指针返回至程序。
更多详细信息参见Go语言标准库文档中文版 | Go语言中文网 | Golang中文社区 | Golang中国 (studygolang.com)