欢迎访问 生活随笔!

凯发ag旗舰厅登录网址下载

当前位置: 凯发ag旗舰厅登录网址下载 > 编程资源 > 编程问答 >内容正文

编程问答

go flag包获取命令行参数使用示例 -凯发ag旗舰厅登录网址下载

发布时间:2025/1/21 编程问答 23 豆豆
凯发ag旗舰厅登录网址下载 收集整理的这篇文章主要介绍了 go flag包获取命令行参数使用示例 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
package mainimport ("flag""fmt" )//声明变量用于接收命令行传入的参数值 var (name stringage intaddress *stringid *int )func init() {//通过传入变量地址的方式,绑定命令行参数到string变量flag.stringvar(&name, //第一个参数:存放值的参数地址"name", //第二个参数:命令行参数的名称"匿名", //第三个参数:命令行不输入时的默认值"您的姓名") //第四个参数:该参数的描述信息,help命令时会显示//通过传入变量地址的方式,绑定命令行参数到int变量flag.intvar(&age, //第一个参数:存放值的参数地址"age", //第二个参数:命令行参数的名称-1, //第三个参数:命令行不输入时的默认值"您的年龄") //第四个参数:该参数的描述信息,help命令时会显示//和前面两个变量的获取方式不同,这个api没有传入变量地址,而是把命令行参数值的地址返回了address = flag.string("address", //第一个参数:命令行参数的名称"未知", //第二个参数:命令行不输入时的默认值"您的住址") //第三个参数:该参数的描述信息,help命令时会显示id = flag.int("id", //第一个参数:命令行参数的名称-1, //第二个参数:命令行不输入时的默认值"身份id") //第三个参数:该参数的描述信息,help命令时会显示 }func main() {//处理入参flag.parse()//入参已经被赋值给各个变量,可以使用了fmt.printf("%s您好, 您的年龄:%d, 您的住址:%s, 您的id:%d\n\n", name, age, *address, *id)fmt.println("---遍历有输入的参数(开始)---")//visit方法会遍历有输入的参数,flag.flag可以将参数的名称、值、默认值、描述等内容取到flag.visit(func(f *flag.flag){fmt.printf("参数名[%s], 参数值[%s], 默认值[%s], 描述信息[%s]\n", f.name, f.value, f.defvalue, f.usage)})fmt.println("---遍历有输入的参数(结束)---\n")fmt.println("---遍历所有的参数(开始)---")//visitall方法会遍历所有定义的参数(包括没有在命令行输入的),flag.flag可以将参数的名称、值、默认值、描述等内容取到flag.visitall(func(f *flag.flag){fmt.printf("参数名[%s], 参数值[%s], 默认值[%s], 描述信息[%s]\n", f.name, f.value, f.defvalue, f.usage)})fmt.println("---遍历所有的参数(结束)---\n") }

可参考链接:https://blog.csdn.net/boling_cavalry/article/details/87901677

总结

以上是凯发ag旗舰厅登录网址下载为你收集整理的go flag包获取命令行参数使用示例的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发ag旗舰厅登录网址下载网站内容还不错,欢迎将凯发ag旗舰厅登录网址下载推荐给好友。

网站地图