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

golang+cobra开发命令行

ruisui882个月前 (04-08)技术分析22


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开发命令行” 的相关文章

基于Ubuntu的Linux Lite 6.0发行版正式发布

开发者 Jerry Bezencon 今天宣布,基于 Ubuntu 的 Linux Lite 6.0 发行版正式发布。本次更新代号为“Fluorite”,基于 Ubuntu 22.04 LTS (Jammy Jellyfish) 系统,它由长期支持的 Linux 5.15 LTS 内核系列驱动。下载...

代码分支规范

一.gitflow工作流说明:主分支:master,稳定版本代码分支,对外可以随时编译发布的分支,不允许直接Push代码,只能请求合并(pull request),且只接受hotfix、release分支的代码合并。gitlab上做限制。热修复分支:hotfix,针对现场紧急问题、bug修复的代码分...

Vue页面传参详解

一、两种方式方法1:name跳转页面this.$router.push({name:'anotherPage',params:{id:1}})另一页面接收参数方式:this.$route.params.id示例:控制台展示:方法2:path跳转页面this.$router.push(...

分享15个基于Vue3.0全家桶的优秀开源项目

大家好,我是 Echa。今天来分享 15 个基于 Vue3.0 全家桶的优秀开源项目!1. Vue Admin Bettergithub : https://github.com/chuzhixin/vue-admin-bettervue admin better 对比其他来源 admin 框架有如...

微信外H5跳转小程序——组件(vue项目)

场景有个H5(vue项目),需要实现点击商品item跳转到小程序,微信内和微信外都要支持,这里我们只介绍一下H5在微信外的跳转。如图所示,红框内是一个商品,就是点击这里,要跳转小程序:配置微信小程序云开发(云函数)1、开通云开发然后选择免费额度2、云开发权限设置找到权限设置,把这里的「未登录用户访问...

VUE3+JAVA商城源码小程序APP商城

三勾小程序商城基于springboot+element-ui+uniapp打造的面向开发的小程序商城,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。软件架构后端: springboot2.3.12管...