// TestFlag2 project main.go
package mainimport ("flag""fmt"
)func main() {//定义Flag//方式一:通过flag.String(), Bool(), Int() 等flag.Xxx()方法,该种方式返回一个相应的指针namePtr := flag.String("name", "Anson", "user's name")agePtr := flag.Int("age", 22, "user's age")vipPtr := flag.Bool("vip", true, "is a vip user")//方式二:通过flag.XxxVar()方法将flag绑定到一个变量,该种方式返回值类型var email stringflag.StringVar(&email, "email", "abc@gmail.com", "user's email")//还有第三种方式,通过flag.Var()绑定自定义类型,自定义类型需要实现Value接口(Receives必须为指针)//flag.Var(&flagVal, "name", "help message for flagname")//解析命令行参数,值保存到定义的flagflag.Parse()//调用Parse解析后,就可以直接使用flag本身(指针类型)或者绑定的变量了(值类型)//还可通过flag.Args(), flag.Arg(i)来获取非flag命令行参数others := flag.Args() //保存Flag以外的变量fmt.Println("name:", *namePtr)fmt.Println("age:", *agePtr)fmt.Println("vip:", *vipPtr)fmt.Println("email:", email)fmt.Println("other:", others)fmt.Println("---------")for i := 0; i < len(flag.Args()); i++ {fmt.Println("Arg", i, "=", flag.Arg(i))}
}

执行结果:

testflag2  -name aa -age 33 -vip=false aaa bbb ccc 111 222
name: aa
age: 33
vip: false
email: abc@gmail.com
other: [aaa bbb ccc 111 222]
---------
Arg 0 = aaa
Arg 1 = bbb
Arg 2 = ccc
Arg 3 = 111
Arg 4 = 222

flag--命令行参数定义多标签示例相关推荐

  1. Go 学习笔记(45)— Go 标准库之 flag(命令行参数解析)

    1. 参数解析说明 import "flag" flag 包实现了命令行参数的解析.每个参数认为一条记录,根据实际进行定义,到一个 set 集合.每条都有各自的状态参数. 使用 f ...

  2. GO标准库—命令行参数解析FLAG

    评论有人提到没有例子,不知道讲的是什么.因此,为了大家能够更好地理解,特意加了一个示例.其实本文更多讲解的是 flag 的实现原理,加上示例之后,就更好地知道怎么使用了.建议阅读 <Go语言标准 ...

  3. golang flag包(命令行参数解析)

    1.1 使用示例: 我们以 nginx 为例,执行 nginx -h,输出如下: nginx version: nginx/1.10.0 Usage: nginx [-?hvVtTq] [-s sig ...

  4. python3 命令行参数处理库 argparse、docopt、click、fire 简介

    一.前言 在近半年的 Python 命令行旅程中,我们依次学习了 argparse.docopt.click 和 fire 库的特点和用法,逐步了解到 Python 命令行库的设计哲学与演变. 本文作 ...

  5. linux 中解析命令行参数 (getopt_long用法)

    getopt_long支持长选项的命令行解析,使用man getopt_long,得到其声明如下:   #include <getopt.h>        int getopt_long ...

  6. Pycharm下运行调试Python项目时,当调试既需要给调试的程序传入命令行参数又需要程序在设置的断点处停下里查看变量时的解决方法

      今天在调试了一个复杂的Python项目,其中这个项目的调试需要事先从命令行读取参数,并且在调试期间需要再事先设置的断点处停下来.检查相关的变量.   问题是,在Pycharm的Terminal 输 ...

  7. golang flag包使用示例:接收命令行参数

    flag包 package mainimport "flag" import "fmt"// 定义命令行参数对应的变量,这三个变量都是指针类型 var cliN ...

  8. 从源码的角度看Go语言flag库如何解析命令行参数!

    我上周五喝酒喝到晚上3点多,确实有点罩不住啊,整个周末都在休息和睡觉,文章鸽了几天,想不到就有两个人跑了. 不得不感叹一下,自媒体的太残酷了,时效就那么几天,断更就没人爱.你们说好了爱我的,爱呢?哼 ...

  9. 使用 Apache Commons CLI 解析命令行参数示例

    很好的输入参数解析方法 ,转载记录下 转载在: https://www.cnblogs.com/onmyway20xx/p/7346709.html Apache Commons CLI 简介 Apa ...

  10. go(flag+cobra)——python(argpase模块)——命令行参数

    目录 python sys.argv argparse模块 ArgumentParse类 add_argument()常用参数 Q&A 终端打印中文帮助信息出现乱码 Go os.Args fl ...

最新文章

  1. [JS]计算字符串中出现最多的字符和其出现次数
  2. iphone双卡_不吹不黑,今年的四款iPhone到底谁最值得买?
  3. apache 编译安装php mysql_编译安装APACHE+PHP+MYSQL
  4. 在CentOS 7系统里使用465端口发送邮件
  5. Neo4j实战 (数据库技术丛书)pdf
  6. JSP自定义标签 函数,实现生日计算年龄
  7. 首席Execution官
  8. inside uboot (五) DRAM的构成
  9. HDFS的Block size的默认大小
  10. 把字符串按照某几个字符切割成数组
  11. Java-自定义注解
  12. GBT19668.3-2007 电子设备机房系统工程监理规范
  13. Photoshop DDS转化插件的一些问题
  14. linux opendir路径_Linux目录操作函数:opendir/readdir/closedir
  15. 苹果手机配对手表总是显示服务器,苹果手表连接手机为什么显示要更新
  16. FL studio 20简易入门教程 -- 第九篇 -- 完整编曲流程
  17. FOT币值暴涨500%,一日内翻涨两次!分析师预测FOT可涨至数百美元……
  18. Java中HttpURLConnection 与 PoLA 法则
  19. 计算机系的对联,首个计算机对联系统问世
  20. PC突然开始只能输入繁体,那可能是这个设置出了问题

热门文章

  1. AR+AI的这些落地应用 你居然不知道?
  2. 在html5水平边距属性hspace,HTML5 常用语法一览(列举不支持的属性)
  3. 水滴IP告诉你:IP是什么?动态IP和静态IP有什么区别?
  4. 中国最美的一千个汉字 : 千字文
  5. was升级jdk版本_was升级jdk1.7
  6. 移动前端图片压缩上传
  7. 刘宇辰java_2009届本科优秀毕业设计论文评选结果-北京科技大学-馆档网.doc
  8. 井字棋游戏的实现和注意细节
  9. 双人版井字棋游戏c语言设计报告,井字棋游戏课程设计总结报告.doc
  10. TapTap实习三个月总结