Golang学习笔记 - flag解析命令行参数
source link: https://www.tuicool.com/articles/QnEf2yj
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
敲黑板,黑... 嘿重要,~ 必须掌握 ~
使用go语言里面的 flag来解析命令行参数 ,代码实现还是简洁,简单,但据说实际开发经常会用它来解析命令行参数. 下面先把用到flag包下面的方法给给位学习的朋友贴出来,同时也是自我巩固如何查看包文件,方法...
Golang中文版文档地址: https://studygolang.com/pkgdoc
列重点
部分代码说明:
flag.StringVar(&user, "u", "", "用户名默认为空") flag.StringVar(&pwd, "pwd", "", "密码默认为空") flag.StringVar(&host, "h", "localhost", "主机名默认为 localhost") flag.IntVar(&port, "port", 3306, "端口号默认为3306")
这其实就对应命令行: test.exe -u myname -pwd 123456 -h 127.0.0.5 -port 8080
通过以上代码,用户在命令行输入参数是无需按照前后顺序输入,程序同样可以判断,解析用户的信息.
-
func StringVar
-
func IntVar
-
flag.Parse() * 必须调用flag.Parse()方法进行转换*
上代码
package main import ( "flag" "fmt" ) func main() { //定义一些变量用于接收命令行输入的参数值 var user string var pwd string var host string var port int //&user 就是用来接收命令行中输入的 -u 后面的参数值 // "u" 就是命令行中 -u 指定参数 // "",默认值 //"用户名默认为空", 默认 flag.StringVar(&user, "u", "", "用户名默认为空") flag.StringVar(&pwd, "pwd", "", "密码默认为空") flag.StringVar(&host, "h", "localhost", "主机名默认为 localhost") flag.IntVar(&port, "port", 3306, "端口号默认为3306") // 必须调用flag.Parse()方法进行转换 flag.Parse() //fmt输出结果 fmt.Printf(" user = %v\n pwd4 = %v\n host = %v\n port = %v\n", user, pwd, host, port) }
看结果
1, 先build一个test.exe可执行文件 go build -o test.exe main.go
2, 运行test.exe 并赋值,例如: test.exe -u myname -pwd 123456 -h 127.0.0.5 -port 8080
3,结果呈现,来贴一张图
Golang flag解析命令行实现结果
请注意
本文部分内容,图片,及视频源于网络转载, 不以盈利为目的,不构成商业目的使用, 仅用于学习交流...相关版权归原作者所有。如有异议,请联系我 [email protected] [麦特matt]
将在第一时间作出相关处理.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK