flag 命令行参数解析,大家可能不太清楚是什么命令行参数解析,不要紧,我们来看看:

他就是干这个活的

 func FlagTest1(){var username stringvar userage intflag.StringVar(&username,"username","default","please input username")flag.IntVar(&userage,"age",0,"please input userage")flag.Parse()fmt.Printf("username :%s --  userage : %d",username,userage)}

很多情况下我们想让flag直接绑定变量,那么可以使用下面这种方式。

 func FlagTest2(){name := flag.String("name","default","please input name")age := flag.Int("age",0,"please input age")flag.Parse()fmt.Println(fmt.Println(*name,*age))fmt.Printf("name :%s --  age : %d",*name,*age)}

下面来看一个综合案例

package mainimport ("bufio""flag""fmt""io""os""strings"
)func fileExist(filename string)bool{_,err := os.Open(filename)return err == nil || os.IsExist(err)
}func copyFile(src,des string)(w int64,err error){srcFile,err := os.Open(src)if err != nil{fmt.Println(err.Error())return}defer srcFile.Close()desFile ,err := os.Create(des)if err != nil{fmt.Println(err.Error())return}desFile.Close()return io.Copy(desFile,srcFile)
}//noinspection ALL
func copyFileAct(src,des string ,sp ,force bool){if force{if fileExist(des){fmt.Printf("%s exists override? y/n\n",des)reader := bufio.NewReader(os.Stdin)data,_ ,_:= reader.ReadLine()if strings.TrimSpace(string(data)) !=  "y" {return}}}copyFile(src,des)if sp {fmt.Println("a---->b")}
}func main(){var sp,force boolflag.BoolVar(&force,"f",false,"是否强制执行.")flag.BoolVar(&sp,"v",false,"是否显示执行过程.")flag.Parse()if flag.NArg() < 2 {flag.Usage()return}copyFileAct(flag.Arg(0),flag.Arg(1),sp,force)}

有问题可以在下面评论,技术问题可以私聊我

转载于:https://www.cnblogs.com/c1024/p/11011992.html

Go语言Flag的简单示例相关推荐

  1. Go语言的基准测试简单示例

    测试了三个从数字转换为字符的性能, 高手的感觉.... package listing28_testimport ("fmt""testing""st ...

  2. 【C++ 语言】智能指针 引入 ( 内存泄漏 | 智能指针简介 | 简单示例 )

    文章目录 I . 智能指针 引入 II . 智能指针 简介 III . 智能指针 简单示例 I . 智能指针 引入 1 . 示例前提 : 定义一个 Student 类 , 之后将该类对象作为智能指针指 ...

  3. linux 剪刀石头布c语言,C语言实现最简单的剪刀石头布小游戏示例

    本文实例讲述了C语言实现最简单的剪刀石头布小游戏.分享给大家供大家参考,具体如下: #include #include #include /*************\ * 剪刀 石头 布 * * 最 ...

  4. c语言flag go to,C 语言getopt与go语言flag获取命令参数

    C语言中的getopt()函数为命令参数的获取提供了很大便利,与golang中的flag功能类似. C语言getopt 下面以ssh中获取主机名/ip和用户名为例来示例如何使用getopt(). in ...

  5. Go语言flag包解析

    Go语言中的 flag 包中,提供了命令行参数解析的功能. 有关命令行参数概念 命令行参数(或参数):是指运行程序时提供的参数: 已定义命令行参数:是指程序中通过 flag.Type 这种形式定义了的 ...

  6. python简单单元测试示范卷_Python 单元测试的简单示例

    这篇文章主要为大家详细介绍了Python 单元测试的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 以前我是不 ...

  7. 字符串的前缀与后缀和简单示例程序win32版

    定义: 字符串的前缀:符号串左部的任意子串(或者说是字符串的任意首部) 字符串的后缀:符号串右部的任意子串(或者说是字符串的任意尾部) 举例 比如说有一个长度为5字符串 x = "ababc ...

  8. php取指定长度,php截取指定长度的简单示例

    这篇文章主要为大家详细介绍了php截取指定长度的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧!PHP语言: 根据中文裁减字符串 代码如下: f ...

  9. python1到1000的质数_python求第1000个质数值的简单示例

    这篇文章主要为大家详细介绍了python求第1000个质数值的简单示例,具有一定的参考价值,可以用来参考一下. 对用python求第1000个质数的值感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌 ...

最新文章

  1. 自学笔记——2.字符串的切片、遍历、查找字符
  2. 0.为什么要学习Vue?
  3. lede 命令 启用 ssh_PHP imap_open函数任意命令执行漏洞
  4. 手机apk签名工具安卓版_小飞鱼APK签名工具使用方法
  5. Java 分割字符串
  6. issues:close 云端 STS 启动报找不到 jdk
  7. 亚马逊因密码泄露重置部分用户密码
  8. listview添加列
  9. mysqlbinlog日志查看
  10. 增强for循环 泛型
  11. 将 cordova-simulate 依赖项安装到扩展时出错(解决方案)
  12. 每日一練06:javascript原生拖拽写的日食
  13. (2019.07) BSV 链上运算模型
  14. 芯片设计:FPGA开发学习
  15. 华为鸿蒙或适配高通平台,博主简评华为鸿蒙操作系统,亮点是分布式操作,或将适配高通平台...
  16. Excel数据透视表按指定文字顺序排序方法
  17. CIKM2022推荐系统论文集锦
  18. 今晚直播 |不诉离殇,图像分割打卡营正式毕业啦!
  19. 获取安卓的SHA1值
  20. htc hd2刷android,一代神机HTC HD2成功刷入Android 6.

热门文章

  1. AutoCAD 2013
  2. Ubuntu显示隐藏文件和文件夹
  3. 【学无止境】 基于ThinkPHP的OAuth2.0实现 ----OAuth2.0 个人学习笔记 Two
  4. docker环境无法执行jmap -heap 56命令
  5. amazeui页面分析5
  6. SQLServer图数据库一些优点
  7. 第二章(jQuery选择器)
  8. 小雷郑重承诺:在2017年之前,对大学毕业4年以来的所有努力和探索,做一个全面客观的总结,技术研究、工作创业、投资理财、朋友感情等...
  9. iOS点滴- ViewController详解
  10. python-mysql