您现在的位置是:主页 > 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 应用项目:

    标签:

    很赞哦! ()

本栏推荐