Golang:Cobra安装与使用

本文介绍了如何在Golang中使用Cobra库创建CLI程序,包括Cobra的安装、项目文件生成、添加子命令和参数,以及如何获取参数值。通过实例详细解析了Cobra的使用步骤,帮助开发者快速上手。
摘要由CSDN通过智能技术生成

引子

最近在做一个基于Golang的CLI程序,索性便将自己探索出来的经验写下与诸位分享,如果更好的方法也希望大家能告知,共同进步

Cobra安装

大部分教程都是直接告诉我们,我们只需要在有go的环境下,输入

$ go get -v github.com/spf13/cobra/cobra

便可以顺顺利利的安装。然而,现实与理想还是有差距的。许多同学都因为某些被墙的链接而停在了某一步骤。解决方法当然是有的。
请在 $GOPATH/src/golang.org/x 目录下用 git clone 下载 sys 和 text 项目,然后使用 go install github.com/spf13/cobra/cobra, 安装后在 $GOBIN 下出现了cobra 可执行程序。如果你没有配置 $GOBIN,那么可以在$GOPATH/bin 下找到 cobra的可执行软件。(这个方法适用于大部分出现类似问题的第三方包下载)

Cobra使用

生成项目文件

cobra程序只能在GOPATH之下使用,所以首先你需要进入到GOPATH的src目录之下,在该目录下,输入:

$GOPATH/src/$ cobra init demo

在你的当前目录下,应该已经生成了一个demo文件夹:

demo
├── cmd
│   └── root.go
├── LICENSE
└── main.go

上述便是该文件夹的结构,我们可以进去该文件夹,运行:

$ 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.

至此,我们的cobra项目便已经生成完毕

添加子命令

这里我们先讲述如何添加子命令,再说明如何添加参数。
实际操作其实cobra都能帮你完成,假设我们现在需要添加一个test参数,在项目文件夹下命令行输入

../src/demo$ cobra add test

执行完成后,现在我们的demo结构应该是:

.
├── cmd
│   ├── root.go
│   └── test.go
├── LICENSE
└── main.go

可以看到,在cmd目录下,已经生成了一个与我们命令同名的go文件,你也许已经猜测到,与该命令有关的操作也正是在此处实现。现在执行这个子命令

$ go run main.go test

命令行将会打印输出test called
那么现在又有一个问题,如果我们想添加子命令下的子命令呢?
现在让我们打开test.go,你应该看到如下的文件内容:

// Copyright © 2017 NAME HERE <EMAIL ADDRESS>
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值