cobra的使用

一、安装cobra

go get -g github.com/spf13/cobra/cobra

这里会报错,如下:

package golang.org/x/sys/unix: unrecognized import path "golang.org/x/sys/unix" (https fetch: Get https://golang.org/x/sys/unix?go-get=1: dial tcp 108.177.120.94:443: i/o timeout)

解决方法:
使用github中的包代替

go get github.com/golang/sys

然后再把它拷到golang.org包下,编译cobra

go build github.com/spf13/cobra/cobra

二、初始化一个项目

cobra init gitee.com/study/testGoPackage/spf13/cobra/demo

生成的目录结构如下:
在这里插入图片描述
切到demo目录下

1.编译并运行
 [[spf:demo shanpengfei$]]  go build -o d main.go 
 [[spf:demo shanpengfei$]]  ./d
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.

2.添加子命令
 [[spf:demo shanpengfei$]]  cobra add te
te created at /Users/shanpengfei/work/goland/src/gitee.com/study/testGoPackage/spf13/cobra/demo/cmd/te.go
 [[spf:demo shanpengfei$]]  go build -o d main.go 
 [[spf:demo shanpengfei$]]  ./d 
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.

Usage:
  demo [command]

Available Commands:
  help        Help about any command
  te          A brief description of your command

Flags:
      --config string   config file (default is $HOME/.demo.yaml)
  -h, --help            help for demo
  -t, --toggle          Help message for toggle

Use "demo [command] --help" for more information about a command.
 [[spf:demo shanpengfei$]]  ./d te
te called

3.添加参数

代码如下:

import (
	"fmt"
	"github.com/spf13/cobra"
	"os"
)
var (
	name string
)
var cmd  = &cobra.Command{
	Use: "demoSelf",
	Run: func(cmd *cobra.Command, args []string) {
		fmt.Println(name)
	},
}

func Execute()  {
	if err := cmd.Execute(); err != nil {
		fmt.Println(err)
		os.Exit(1)
	}
}

func init()  {
	cmd.Flags().StringVarP(&name, "name", "n", "spf", "输入名字")
}

执行命令如下:

spf:demoSelf shanpengfei$ go build -o d main.go 
spf:demoSelf shanpengfei$ ./d
spf
spf:demoSelf shanpengfei$ ./d -n a
a
spf:demoSelf shanpengfei$ ./d -h
Usage:
  demoSelf [flags]
  demoSelf [command]

Available Commands:
  bb          
  help        Help about any command

Flags:
  -h, --help          help for demoSelf
  -n, --name string   输入名字 (default "spf")

Use "demoSelf [command] --help" for more information about a command.
spf:demoSelf shanpengfei$ ./d --name b
b

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要安装和使用cobra库进行命令行工具的开发,可以按照以下步骤进行操作: 1. 首先,安装cobra。你可以使用以下命令在命令行中安装cobra库: ``` go get -u github.com/spf13/cobra/cobra ``` 这将通过go get命令从GitHub上下载并安装最新版本的cobra库。 2. 安装完成后,你可以在GOPATH/bin目录下找到一个名为cobra的可执行文件。你可以使用该可执行文件来初始化一个cobra项目框架。例如,在命令行中运行以下命令: ``` cobra init <project-name> ``` 这将在当前目录下创建一个名为<project-name>的新项目,并生成一些初始的文件和目录结构。 3. 在项目文件夹中,你可以使用cobra库来创建命令和子命令。你可以使用以下命令来创建一个新的命令: ``` cobra add <command-name> ``` 这将自动生成一个新的命令文件,并将其添加到项目中的适当位置。 4. 在生成的命令文件中,你可以添加自定义的命令逻辑和参数。你可以使用cobra库提供的函数来定义和处理命令行参数,以及执行特定的操作。 5. 当你完成了命令行工具的开发,你可以使用以下命令来构建和运行你的应用程序: ``` go build ./<project-name> ``` 这将编译并运行你的应用程序。 总结起来,安装和使用cobra库进行命令行工具的开发需要以下步骤:安装cobra库,初始化一个项目,创建命令和子命令,添加自定义的命令逻辑和参数,最后构建和运行应用程序。希望这个回答对你有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值