通过 flag 包获取命令行参数
优质
小牛编辑
140浏览
2023-12-01
Go 语言中除了可以通过 os 包获取命令行参数以外,还可以通过 flag 包获取命令行参数
package main import ( "flag" "fmt" ) func main() { /* flag.Xxxx(name, value, usage) 第一个参数: 命令行参数名称 第二个参数: 命令行参数对应的默认值 第三个参数: 命令行参数对应的说明 */ // 1.设置命令行参数 name := flag.String("name", "lnj", "请输入人的姓名") age := flag.Int("age", 33, "请输入人的年龄") // 2.将命令行参数解析到注册的参数 flag.Parse() // 3.使用命令行参数 // 注意flag对应方法返回的都是指针类型, 所以使用时必须通过指针访问 fmt.Println("name = ", *name) fmt.Println("age = ", *age) }
flag 获取命令行参数第二种写法
package main import ( "flag" "fmt" ) func main() { /* flag.Xxxx(*type, name, value, usage) 第一个参数:保存命令行参数变量地址 第二个参数: 命令行参数名称 第三个参数: 命令行参数对应的默认值 第四个参数: 命令行参数对应的说明 */ // 1.定义变量,保存命令行参数的值 var name string var age int // 2.设置命令行参数 flag.StringVar(&name, "name", "lnj", "请输入人的姓名") flag.IntVar(&age, "age", 33,"请输入人的姓名") // 3.注册解析命令行参数 flag.Parse() // 4.使用命令行参数 fmt.Println("name = ", name) fmt.Println("age = ", age) }