首页 > 其他分享 > Go 的cobra-cli的基本使用

Go 的cobra-cli的基本使用

时间:2023-03-16 23:34:24浏览次数:40  
标签:cobra cli 23 -- go Go root

Cobra是一个用于创建功能强大的现代CLI应用程序的库。

Cobra提供了自己的程序,可以创建应用程序并添加任何命令

1、安装

go install github.com/spf13/cobra-cli@latest

安装完成后会在GPPATH的bin目录下生成cobra-cli

2、cobra-cli init

初始化模块

mkdir app
go mod init app

初始化Cobra CLI应用程序

cobra-cli init
--------------------------
[root@iZbp1fpui5cmgd2buwhk5fZ app]# ls -al
total 24
drwxr-xr-x 3 root root 4096 Mar 16 23:05 .
drwxr-xr-x 3 root root 4096 Mar 16 23:04 ..
drwxr-x--x 2 root root 4096 Mar 16 23:05 cmd
-rw-r--r-- 1 root root  176 Mar 16 23:05 go.mod
-rw-r--r-- 1 root root  896 Mar 16 23:05 go.sum
-rw-r--r-- 1 root root    0 Mar 16 23:05 LICENSE
-rw-r--r-- 1 root root  114 Mar 16 23:05 main.go

run一下

[root@iZbp1fpui5cmgd2buwhk5fZ app]# go run main.go
A longer description that spans multiple lines and likely contains
examples and usage of using your application. For example:

Cobra is a CLI library for Go that empowers applications.
This application is a tool to generate the needed files
to quickly create a Cobra application.

3、给项目添加命令

cobra-cli add serve
cobra-cli add config
cobra-cli add create -p 'configCmd'

最后一个命令有一个-p 标志。这用于分配 父命令分配给新添加的命令。在本例中,我们希望将 “create”命令到“config”命令。如果未指定,所有命令都有一个默认的rootCmd父命令。

执行完成后新增cmd的如下结构

 

 执行run命令查看效果

go run main.go

 

下一步是编辑cmd中的文件,为app应用程序定制它们

 

标签:cobra,cli,23,--,go,Go,root
From: https://www.cnblogs.com/mingfan/p/17224774.html

相关文章

  • Django与DRF版本问题
    个人认为DRF最好要比Django高一个版本是最好的,不知道有没有一些小可爱注册drf后启动Django出现下面这种报错?这个就是Django与DRF版本兼容问题!Nomodulenamed'......
  • Goravel ORM 新增模型关联,用 Golang 写关联也可以跟 Laravel 一样简单
    关于GoravelGoravel是一个功能完备、具有良好扩展能力的Web应用程序框架。作为一个起始脚手架帮助Golang开发者快速构建自己的应用。框架风格与Laravel保持一致,让......
  • C#-TCP协议通讯(一)-TCPClientHelper
    一、TCPClinet知识点1、创建TCPClient客户端发送消息示例:///<summary>///发送消息-未做粘包和拆包处理///</summary>///<param......
  • Docker CLI docker commit 常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Doc......
  • golang_gin_learn_todolist
    /Users/song/codelearn/golang/bubble-master/go.modmodulebubblego1.13require( github.com/0xAX/notificatorv0.0.0-20220220101646-ee9b8921e557//indirect......
  • elasticSearch配合go基本使用
    一。连接packagemodelimport("fmt""github.com/olivere/elastic/v7")varEsClient*elastic.Clientfuncinit(){//注意IP和端口EsClient,err=elastic.......
  • go微服务开发:go-zero中间件
    TRANSLATEwithxEnglishArabicHebrewPolishBulgarianHindiPortugueseCatalanHmongDawRomanianChineseSimplifiedHungarianRussianC......
  • django+drf的常用知识_____request
    登录成功,将token封装好返回给前端,前端再放到locallsession里永久化存储。导航守卫拿到token后就进行第一层守卫防止没登录用户通过。再由拦截器进行校验。这个请求头'Autho......
  • mongodb脚本创建
    db.createCollection("express_track");db.getCollection("express_track").createIndex({mailNo:NumberInt("1")},{name:"mailNo_1"});db.getCollection("ex......
  • 【项目实战】基于Python+Django+MySQL的自行车租赁系统(附完整源码)
    1、项目说明基于python+Django+Mysql的自行车租赁系统项目实战项目需要安装pycharm专业版以及MySQL环境(环境搭建和破解可以看我的B站里的视频有讲解)首先需要创建数据......