Go语言实现的命令行解析程序
2016-12-09 12:24
1016 查看
项目地址 : https://github.com/zgljl2012/go-cli
就可以在当前目录下看到
测试:
调用Parse方法进行命令解析,返回一个
调用命令:
编译打包
使用git clone下载代码后,将当前路径,比如
F:\<project_name>添加到
GOPATH环境变量中,然后在目录中打开一个控制台,输入:
go build main
就可以在当前目录下看到
main.exe
测试:
> main -h 帮助信息 > main -v 版本信息 0.0.1 > main -f file1 file2 目标文件 [file1 file2]
使用说明:
初始化
cmd := cli.Cli{Options:make([]cli.Option, 3), CmdMap:make(map[string]bool)}
Option是
cli包中的结构体,一个
Option就是一个命令,
3指定的是命令项数目(我的示例中有3个命令)
type Option struct { Cmd string // 命令项-简写 Command string // 命令项-全称 IsHasArgs bool // 是否有参数 Description string // 命令描述 }
添加不带参数的命令
cmd.Option(cli.Option{"h","help",false, "帮助信息"})
Option方法添加命令,指定其四个参数,第一、二个参数是指定命令名称,第三个参数是是否带参数,第四个是命令描述
添加带参数的命令
cmd.Option(cli.Option{"f","file",true, "目标文件"}) // 目标文件
命令解析
var r = cmd.Parse(args)
调用Parse方法进行命令解析,返回一个
map[string]interface{}对象
调用命令:
_,ok1 := r["help"] file,ok2 := r["file"] _,ok3 := r["version"] if ok1 { fmt.Println("帮助信息") } if ok2 { fmt.Println("目标文件", file) } if ok3 { fmt.Println("版本:0.0.1") }
相关文章推荐
- 在Go语言程序中使用gojson来解析JSON格式文件
- GO语言实现的简单“木马”小程序
- 深入解析快速排序算法的原理及其Go语言版实现
- Go语言日趋成熟 运行速度接近C语言实现程序
- 用 Go 实现简单命令行实用程序 selpg
- Go 语言中实现优雅的停止程序
- 使用go实现基于命令行的计算器程序
- go语言实现最小区块链教程3-数据存储及命令行
- Go语言实现的素数筛选程序
- Go语言中使用flag包对命令行进行参数解析的方法
- go语言实现的目录共享程序
- Go语言实现大数开方程序
- [导入]Winform程序多语言国际化实现的简单方法
- 一个能够解析各种程序语言并且设定颜色上去的工具
- MIDlet中实现程序管理器和多语言程序
- 蚁群算法小程序(C/C++语言实现)
- 一个小语言的词法分析程序原理及其实现(2)
- 蚁群算法小程序(C/C++语言实现)
- 今天可怜!我想做一个控制网络连接的程序,不管用什么语言都行,只要实现网络断开与连接!