当我们希望通过命令行启动Golang程序,获取输入的各种形式参数时,该如何处理呢?

 

[os.Args]

​os.Args​​go run main.go​​main.exe​​main.exe​
​go run main.go -name korbin aaa bbb ccc​

 

[flag]

​flag​

1.定义flag命令行参数

​flag.String()​​Bool()​​Int()​​flag.Xxx()​

方法中有三个参数:

  name:表示指定的参数名,在命令行中输入为-name或--name

  value:表示默认值

  usage:参数说明描述

 

​flag.XxxVar()​
​flag.Var()​​Value​

对于这种类型的flag,默认值为该变量类型的初始值,即输入的是int类型则默认为0,string默认为空等。

 

2.flag.Parse()

​flag.Parse()​
​cmd --flag=true abc​

 

3.

​flag.Args()​​flag.Arg(i)​
​go run main.go -name korbin aaa bbb ccc​