当前位置:首页 > 技术分析 > 正文内容

golang+cobra开发命令行

ruisui883周前 (04-08)技术分析10


Cobra提供了自己的程序,该程序将创建您的应用程序并添加所需的任何命令。

为了使用cobra命令,请使用以下命令进行编译:

 go get github.com/spf13/cobra/cobra

这将在您的$GOPATH/bin目录下创建cobra可执行文件。cobra命令不存在的话,需要自己配置环境变量。

我们实现的示例如下,仅供参考。



新建项目目录 his-server

 mkdir his_server 
cd his_server 
go mod init his_server

目录结构如下:

cobra项目初始化

cobra init --pkg-name his_server

目录结构如下:

添加子命令

注意:使用camelCase(而不是snake_case / kebab-case)作为命令名称。否则,您将遇到错误。例如,cobra add add-user不正确,但cobra add addUser有效。

 cobra add reportServer

目录结构如下:

编译运行

 go build 
./his-server

结果如下:

执行命名后也明显看到了我们新添加的子命令。

添加子命令描述信息

我们在这里修改了短描述信息和长描述信息:

我们再次编译运行:

1 直接运行命令会展示短描述提示:

2 执行子命令会执行run 对应的方法体:

3 此时我你们加上-h查看帮助的话,此时可以看到长描述信息和配置文件的路径(可添加作者和许可信息)

此时我们就可以去修改其他的命令信息了,包括默认的rootCmd命令描述也是一样的。

添加子命令选项

编译运行可以直观看出结果:

升级代码,加上gin框架

编译运行:

最后在看下args参数列表

如需深入了解,请看官方资料,这里不在继续了。以后有机会写个详细的专题吧。该休息了^_^!

cobra 仓库地址:
https://github.com/spf13/cobra

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3349.html

标签: kebab-case
分享给朋友:

“golang+cobra开发命令行” 的相关文章

gitlab 分支保护设置

一、功能描述代码管理中管理,我们把稳定的分支设置为保护,可以防止其他人员误操作(例如删除,合并,推送代码等)。二、Gitlab配置步骤1 点击项目Repository标签2.点击Expand标签3.配置如下:默认master是被保护的,而且只有维护人员具有推送和合并权限。设置保护分支,这里的beta...

代码管理-9-gitlab的使用和设置

gitlab使用1、外观设置完成后保存,返回登录页面查看关于注册,有些公司是不允许打开的,,有些人数非常多的公司就需要打开注册的功能,让人员自己注册,我们来给他特定的权限就可以,毕竟人非常多的时候还由我们来给她们注册就非常不现实了,工作量会很大2、自动注册3、组&用户&项目创建组设置组名称、描述等创...

「Git迁移」三行命令迁移Git包含提交历史,分支,tag标签等信息

问题描述:公司需要将一个git远程服务器的全部已有项目迁移到一台新服务器的Gitlab中,其中需要包含全部的提交纪录,已有的全部分支与全部打tag标签,目前此工作已全部迁移完毕,特此记录一下操作步骤环境描述:1. 要迁移的远程Git:Gitblit2. 迁移目的Git:Gitlab3. 暂存代码的P...

neovim 0.9在win下配置 python开发环境

初级的一些配置点击下面链接查看neovim安装插件管理器neovim常用快捷键neovim python开发环境简易配置方法 (需要手动键入命令行 运行python)安装neovim python的模块pip install pynvim pip install jedi pip install n...

雅马哈TMAX 560 TECH MAX 外媒深度测评

应雅马哈(Yamaha)的邀请,在葡萄牙埃斯托里尔对全新的Yamaha TMAX 560 Tech Max踏板车进行了测试,在这里TMAX 560 Tech Max售价为11649英镑。雅马哈TMAX长期以来一直站在踏板车的顶端,就声誉和知名度而言,它是当之无愧的大踏板界NO.1。2020 TMAX...

最快清除数组空值?分享 1 段优质 JS 代码片段!

本内容首发于工粽号:程序员大澈,每日分享一段优质代码片段,欢迎关注和投稿!大家好,我是大澈!本文约 600+ 字,整篇阅读约需 1 分钟。今天分享一段优质 JS 代码片段,用最简洁的代码清除了数组中的空值。老规矩,先阅读代码片段并思考,再看代码解析再思考,最后评论区留下你的见解!const arr...