命令行cobra
安装
Cobra:
$ go get -u github.com/spf13/cobraCobra代码生成工具:
$ go get -u github.com/spf13/cobra/cobra项目自动生成
$ mkdir cobra-demo
$ cd cobra-demo/
$ cobra init --pkg-name cobra-demo
$ go mod init cobra-demo
$ go mod tidy$ tree
.
├── LICENSE
├── cmd
│ └── root.go
├── go.mod
├── go.sum
└── main.go命令行参数绑定
在cmd目录创建对应的配置文件sample.yaml:
和相应的sample.go:
在cmd/root.go添加解析到结构体变量的代码:
打开rootCMD变量的Run函数,项目代码:
功能验证
添加子命令
修改 subCmd 变量:
功能验证
Command & Flag
如上 sub 为 Command,--config 和 --apiVersion 是 Flag
Command 可以按树型结构嵌套
Persistent Flags & Local Flags
通过 PersistentFlags 绑定的参数在全局生效
Local Flags 绑定的参数在指定的 Command 下生效,在其他的 Command 下查询就查不出来了
Last updated
Was this helpful?