1.os.Args
func main() {
fmt.Printf("%T\n", os.Args)
fmt.Printf("%#v\n", os.Args)
fmt.Println(os.Args[1], os.Args[3])
}
输出结果:
# .\zyz.test.com.exe a b c
[]string
[]string{"D:\\WorkSpace\\GoWorkspace\\src\\zyz.test.com\\zyz.test.com.exe", "a", "b", "c"}
a c
2.Flag包
func main() {
name := flag.String("name", "zhangsan", "-name [参数]")
age := flag.Int("age", 18, "-age [参数]")
flag.Parse()
fmt.Println(*name)
fmt.Println(*age)
}
查看参数使用帮助:
# .\zyz.test.com.exe -help
Usage of D:\WorkSpace\GoWorkspace\src\zyz.test.com\zyz.test.com.exe:
-age int
-age [参数] (default 18)
-name string
-name [参数] (default "zhangsan")
使用方法:
# .\zyz.test.com.exe -name lisi -age 20
lisi
20
Go语言命令行参数处理
本文介绍了Go语言中处理命令行参数的两种方法:os.Args和Flag包。os.Args用于获取命令行直接传递的参数,而Flag包则提供了更灵活的参数解析方式,支持自定义参数和默认值。通过示例展示了如何使用这两个工具读取和打印参数。
967

被折叠的 条评论
为什么被折叠?



