定义命令行参数
flag.Type(“参数名”, “默认值”, “帮助信息”),返回的是指向参数的指针(如 *string, *int)。
// 定义字符串类型的参数
name := flag.String("name", "Guest", "用户的名称")
// 定义整数类型的参数
age := flag.Int("age", 18, "用户的年龄")
// 定义布尔类型的参数
verbose := flag.Bool("verbose", false, "是否显示详细信息")
解析参数
flag.Parse()
使用参数
fmt.Println("Name:", *name)
fmt.Println("Age:", *age)
fmt.Println("Verbose:", *verbose)
绑定参数到变量
除了直接返回指针,还可以将参数绑定到现有变量:
var (
name string
age int
verbose bool
)
func init() {
flag.StringVar(&name, "name", "Guest", "用户的名称")
flag.IntVar(&age, "age", 18, "用户的年龄")
flag.BoolVar(&verbose, "verbose", false, "是否显示详细信息")
}
func main() {
flag.Parse()
fmt.Println("Name:", name)
fmt.Println("Age:", age)
fmt.Println("Verbose:", verbose)
}
运行
./main -name Alice -age 25 -verbose file1.txt file2.txt