Go语言Flag的简单示例
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的简单示例相关推荐
- Go语言的基准测试简单示例
测试了三个从数字转换为字符的性能, 高手的感觉.... package listing28_testimport ("fmt""testing""st ...
- 【C++ 语言】智能指针 引入 ( 内存泄漏 | 智能指针简介 | 简单示例 )
文章目录 I . 智能指针 引入 II . 智能指针 简介 III . 智能指针 简单示例 I . 智能指针 引入 1 . 示例前提 : 定义一个 Student 类 , 之后将该类对象作为智能指针指 ...
- linux 剪刀石头布c语言,C语言实现最简单的剪刀石头布小游戏示例
本文实例讲述了C语言实现最简单的剪刀石头布小游戏.分享给大家供大家参考,具体如下: #include #include #include /*************\ * 剪刀 石头 布 * * 最 ...
- c语言flag go to,C 语言getopt与go语言flag获取命令参数
C语言中的getopt()函数为命令参数的获取提供了很大便利,与golang中的flag功能类似. C语言getopt 下面以ssh中获取主机名/ip和用户名为例来示例如何使用getopt(). in ...
- Go语言flag包解析
Go语言中的 flag 包中,提供了命令行参数解析的功能. 有关命令行参数概念 命令行参数(或参数):是指运行程序时提供的参数: 已定义命令行参数:是指程序中通过 flag.Type 这种形式定义了的 ...
- python简单单元测试示范卷_Python 单元测试的简单示例
这篇文章主要为大家详细介绍了Python 单元测试的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 以前我是不 ...
- 字符串的前缀与后缀和简单示例程序win32版
定义: 字符串的前缀:符号串左部的任意子串(或者说是字符串的任意首部) 字符串的后缀:符号串右部的任意子串(或者说是字符串的任意尾部) 举例 比如说有一个长度为5字符串 x = "ababc ...
- php取指定长度,php截取指定长度的简单示例
这篇文章主要为大家详细介绍了php截取指定长度的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧!PHP语言: 根据中文裁减字符串 代码如下: f ...
- python1到1000的质数_python求第1000个质数值的简单示例
这篇文章主要为大家详细介绍了python求第1000个质数值的简单示例,具有一定的参考价值,可以用来参考一下. 对用python求第1000个质数的值感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌 ...
最新文章
- 自学笔记——2.字符串的切片、遍历、查找字符
- 0.为什么要学习Vue?
- lede 命令 启用 ssh_PHP imap_open函数任意命令执行漏洞
- 手机apk签名工具安卓版_小飞鱼APK签名工具使用方法
- Java 分割字符串
- issues:close 云端 STS 启动报找不到 jdk
- 亚马逊因密码泄露重置部分用户密码
- listview添加列
- mysqlbinlog日志查看
- 增强for循环 泛型
- 将 cordova-simulate 依赖项安装到扩展时出错(解决方案)
- 每日一練06:javascript原生拖拽写的日食
- (2019.07) BSV 链上运算模型
- 芯片设计:FPGA开发学习
- 华为鸿蒙或适配高通平台,博主简评华为鸿蒙操作系统,亮点是分布式操作,或将适配高通平台...
- Excel数据透视表按指定文字顺序排序方法
- CIKM2022推荐系统论文集锦
- 今晚直播 |不诉离殇,图像分割打卡营正式毕业啦!
- 获取安卓的SHA1值
- htc hd2刷android,一代神机HTC HD2成功刷入Android 6.