Go 很适合开发命令行工具,获取命令行参数是关键的一步。
有两种方式可以获取命令行参数
os
引入
1 | import "os" |
使用
1 | func main() { |
该方法返回的是参数列表,像 shell 语言一样,数组的第一个参数是运行文件的位置,该方法很简单,但是想要获取 -
标示的变量参数就不太够用了。
flag
flag
包时 Go 中专业的解析参数的包。
引入
1 | import "flag" |
语法
1 | // xxx 代表参数类型,如:string bool int |
该方法返回的是指定参数类型的指针
1 | // xxx 代表参数类型,如:string bool int |
该方法传入已定义的参数指针,可以得到相应的技术。
flag 可以解析的参数类型有
1 | -k v |
使用
1 | package main |
1 | > $ go run src/simple/flag.go -v -name wxnacy -age 2 arg1 arg2 |