GoLang之命令行使用方法——flag package

GoLang之命令行使用方法——flag package,第1张

概述2013-12-08 wcdj go语言通过使用标准库里的flag包来处理命令行参数。 Package flag implements command-line flag parsing. http://golang.org/pkg/flag/ http://golang.org/pkg/ 几点注意事项: 1,通过flag.String(), Bool(), Int()等方式来定义命令行中需要使用

2013-12-08 wcdj


go语言通过使用标准库里的flag包来处理命令行参数。

Package flag implements command-line flag parsing.

http://golang.org/pkg/flag/

http://golang.org/pkg/


几点注意事项:

1,通过flag.String(),Bool(),Int()等方式来定义命令行中需要使用的flag。

2,在定义完flag后,通过调用flag.Parse()来进行对命令行参数的解析。

3,命令行参数的格式可以是:

-flag xxx (使用空格,一个 - 符号)

--flag xxx (使用空格,两个 - 符号)

-flag=xxx (使用等号,一个 - 符号)

--flag=xxx (使用等号,两个 - 符号)

其中,布尔类型的参数防止解析时的二义性,应该使用等号的方式指定。


测试用例:

package mainimport ( "flag" "fmt")var input_pstrname = flag.String("name","gerry","input ur name")var input_piAge = flag.Int("age",20,"input ur age")var input_flagvar intfunc Init() { flag.Intvar(&input_flagvar,"flagname",1234,"help message for flagname")}func main() { Init() flag.Parse() // After parsing,the arguments after the flag are available as the slice flag.Args() or indivIDually as flag.Arg(i). The arguments are indexed from 0 through flag.NArg()-1 // Args returns the non-flag command-line arguments // NArg is the number of arguments remaining after flags have been processed fmt.Printf("args=%s,num=%d\n",flag.Args(),flag.NArg()) for i := 0; i != flag.NArg(); i++ {  fmt.Printf("arg[%d]=%s\n",i,flag.Arg(i)) } fmt.Println("name=",*input_pstrname) fmt.Println("age=",*input_piAge) fmt.Println("flagname=",input_flagvar)}/*output:mba:filter gerryyang$ ./test_flag --name "aaa" -age=123 -flagname=0x11 para1 para2 para3args=[para1 para2 para3],num=3arg[0]=para1arg[1]=para2arg[2]=para3name= aaaage= 123flagname= 17*/

参考:

标准库—命令行参数解析flag

总结

以上是内存溢出为你收集整理的GoLang之命令行使用方法——flag package全部内容,希望文章能够帮你解决GoLang之命令行使用方法——flag package所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1292263.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存