您现在的位置是:主页 > Web前端技术 > Web前端技术
怎么在Golang中使用Cobra创建CLI应用开发技术
IDCBT2022-01-06【服务器技术】人已围观
简介本篇内容主要讲解“怎么在Golang中使用Cobra创建CLI应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在Golang中使用Cobra创建
本篇内容主要讲解“怎么在Golang中使用Cobra创建CLI应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在Golang中使用Cobra创建CLI应用”吧!
对于开发人员来说平时可能就需要使用到很多 CLI 工具,比如 npm、node、go、python、docker、kubectl 等等,因为这些工具非常小巧、没有依赖性、非常适合系统管理或者一些自动化任务等等。
我们这里选择使用 Golang 里面非常有名的Cobra库来进行 CLI 工具的开发。Cobra 是一个功能强大的现代化 CLI 应用程序库,有很多知名的 Go 项目使用 Cobra 进行构建,比如:Kubernetes、Docker、Hugo 等等
概念Cobra 是构建在命令、参数和标识符之上的:
Commands
表示执行动作
Args
就是执行参数
Flags
是这些动作的标识符
基本的执行命令如下所示:
$ APPNAME Command Args --Flags # 或者 $ APPNAME Command --Flags Args
比如我们平时使用的一些命令行工具:
git clone URL -bare go get -u URL npm install package –save kubectl get pods -n kube-system -l app=cobra示例
下面我们来看下 Cobra 的使用,这里我们使用的 go1.13.3 版本,使用 Go Modules 来进行包管理,如果对这部分知识点不熟悉的,可以查看前面我们的文章Go Modules 基本使用(视频)了解。
新建一个名为my-calc
的目录作为项目目录,然后初始化 modules:
$ mkdir my-calc && cd my-calc # 如果 go modules 默认没有开启,需要执行 export GO111MODULE=on 开启 $ go mod init my-calc go: creating new go.mod: module my-calc
初始化完成后可以看到项目根目录下面多了一个go.mod
的文件,现在我们还没有安装cobra
库,执行下面的命令进行安装:
# 强烈推荐配置该环境变量 $ export GOPROXY=https://goproxy.cn $ go get -u github.com/spf13/cobra/cobra
安装成功后,现在我们可以使用cobra init
命令来初始化 CLI 应用的脚手架:
$ cobra init --pkg-name my-calc Your Cobra applicaton is ready at /Users/ych/devs/workspace/youdianzhishi/course/my-calc
需要注意的是新版本的 cobra 库需要提供一个--pkg-name
参数来进行初始化,也就是指定上面我们初始化的模块名称即可。上面的 init 命令就会创建出一个最基本的 CLI 应用项目:
很赞哦! ()