背景
学习Golang并尝试应用于实际工作中。
什么是cli
cli一个简单,快速且有趣的软件包,用于在Go中构建命令行应用程序。目的是使开发人员能够以表达方式编写快速且可分发的命令行应用程序。目前为V1*和V2*,这里学新不学旧。
安装
在未安装go-mode可以使用go get 进行安装
1 | go get -v github.com/urfave/cli |
安装go-mode后在包中引用,会自动安装相关库,demo如下
1 | package main |
结果如下:
1 | NAME: |
使用
cli自带help参数进行构建。在cli库中使用cli.App进行填充命令与参数,使用Run()进行运行
1 | package main |
另一种,使用实例化进行屌用:
1 | package main |
在目标Action中,通过cli.Context的相关方法我们可以获取传给命令行的参数信息:
- NArg() 返回参数个数
- Args() 返回cli.Args对象,调用其Get(i)获取位置i上的参数。
- IsSet(“xxxx”) 查询是否设置xxxxx选项(调用需要string进行转换)
1 | func main() { |
增加选项 Flags:
1 | package main |
当参数比较多的时候,我们拿出来单独进行使用:
1 | ... |
官方写的,更过flag参数的使用说明可以查看官方的文档:
1 | package main |
使用command来进行命令与子命令的调用:
1 | package main |
退出程序运行(在app.Run()中运行后,使用os是无法进行退出的):
1 | package main |
学习/参考
1 |