Cobra 介绍和简单使用

Cobra 是go语言中用于创建 CLI 应用程序的库。
本身提供了一个快速创建 cli 应用的脚手架 cobra-cli

安装:

cobra:

go get -u github.com/spf13/cobra@latest

cobra-cli:

go install github.com/spf13/cobra-cli@latest

快速创建应用:

现在假设要创建一个名为test的cli程序,你可以使用一下步骤来创建

1. 初始化新的go模块:

go mod init test

2. 使用cobra-cli来快速创建应用模板

cobra-cli init

2.1 cobra-cli init 提供三个可选标志

--author

cobra-cli init --author "Steve Francia [email protected]"

--license

cobra-cli init --license apache

--viper

cobra-cli init --viper

使用 --viper 标志自动设置 viper
Viper 是 Cobra 的伴侣,旨在轻松处理环境变量和配置文件,并将它们无缝连接到应用程序标志。

3. 向项目添加命令

这个部分使用cobra-cli的add命令,例如:

cobra-cli add serve
cobra-cli add config
cobra-cli add create -p 'configCmd'
您会注意到,此最终命令具有 -p 标志。这用于将父命令分配给新添加的命令。在这种情况下,我们想将 “create” 命令分配给 “config” 命令。如果未指定,则所有命令的默认父级为 rootCmd。
默认情况下,cobra-cli 会将 Cmd 附加到提供的名称,并将此名称用作内部变量名称。指定父级时,请确保与代码中使用的变量名称匹配。
注意:命令名称使用 camelCase(而不是 snake_case/kebab-case)。否则,您将遇到错误。例如,cobra-cli add add-user 不正确,但 cobra-cli add addUser 有效。

最终在运行完这三个命令之后会在 cmd 文件夹中看到对应命令的go文件。这时可以参考官方文档来进行编写对应的代码。

参考:

  1. cobra github
  2.  Cobra 生成器README
  3. Cobra 用户指南
添加新评论