cobra https://github.com/spf13/cobra 是 golang 中一个非常好用的 命令 开发库。 但是绑定 flag 参数的时候略微有点繁琐, 不但有多少个参数就需要写多少行绑定代码, 而且参数定义和描述也是分开的, 非常的不直观。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 func init() { rootCmd.Flags()....
cobra默认只解析当前命令的local flags,通过开启Command.TraverseChildren参数,可以解析每个命令的local flags。 command:=cobra.Command{Use:"print [OPTIONS] [COMMANDS]", TraverseChildren: true,} 4. Bind Flags with Config 可以通过viper来绑定flags。 var author string func init(){rootCmd.PersistentFlags()....
接下来我们安装 Cobra。 1.2 安装 安装很简单: go get -u github.com/spf13/cobra@latest 下载完成后安装 cobra 工具,在 $GOPATH/bin 会生成可执行文件: go install github.com/spf13/cobra-cli@latest 将生成的 cobra 工具放到 $PATH 目录下,可以看到: [root@localhost ~]# cp -a $GOPATH/bin/cobra ...
cobrahttps://github.com/spf13/cobra是 golang 中一个非常好用的命令开发库。 但是绑定flag参数的时候略微有点繁琐, 不但有多少个参数就需要写多少行绑定代码, 而且参数定义和描述也是分开的, 非常的不直观。 123456 funcinit() {rootCmd.Flags().StringVarP(&stu.Name,"name","","zhangsanfeng","student...
需要注意的是,cobra库提供了丰富的功能和选项,包括子命令分组、参数验证、自动生成帮助信息等。 二,flags定义,配置绑定及flags检查 在golang中,我们可以使用flag包来定义和处理命令行参数。该包提供了一系列函数和结构体,使我们能够轻松地定义并处理命令行参数。
Cobra 是构建在命令、参数和标识符之上的: Commands表示执行动作 Args就是执行参数 Flags是这些动作的标识符 基本的执行命令如下所示: $APPNAME Command Args --Flags#或者$APPNAME Command --Flags Args 比如我们平时使用的一些命令行工具: git clone URL -bare ...
Cobra既是一个用来创建强大的现代CLI命令行的golang库,也是一个生成程序应用和命令行文件的程序。下面是Cobra使用的一个演示: Cobra提供的功能 简易的子命令行模式,如 app server, app fetch等等 完全兼容posix命令行模式 嵌套子命令subcommand 支持全局,局部,串联flags ...
Run: func(cmd *cobra.Command, args []string) { name, _ := cmd.Flags().GetString("name") age, _ := cmd.Flags().GetInt("age") fmt.Printf("Name: %s, Age: %d\n", name, age) }, } func init() { rootCmd.Flags().StringP("name", "n", "", "Your name") ...
Cobra是一个库,其提供简单的接口来创建强大现代的CLI接口,类似于git或者go工具。同时,它也是一个应用,用来生成个人应用框架,从而开发以Cobra为基础的应用。Docker源码中使用了Cobra。 概念 Cobra基于三个基本概念commands,arguments和flags。其中commands代表行为,arguments代表数值,flags代表对行为的改变。 基本模型如下: ...
3、flags //表示对行为的改变 1. 2. 3. 4. 5. 6. 7. 8. 2、环境安装 go get -u /spf13/cobra/cobra 1. 3、命令行工具初始化 cobra init tools //初始化目录 1. 覆盖配置 vi main.go package main import "go_code/tools/cmd" //项目名称改成自己的 ...