使用 Cobra 创建功能强大的 Golang CLI 程序
简介
Cobra 既是一个用来创建强大的现代 CLI 命令行的 Golang 库,也是一个生成程序应用和命令行文件的程序。
Cobra 在很多 Go 项目中都有使用,例如: Kubernetes,Hugo, 和 Github CLI。更多使用 Cobra 的程序见这个列表。
简而言之,Cobra 有两部分组成,一个是库,一个是 Cobra 程序。Cobra 库可以在你的项目中引用,Cobra 提供了简洁的接口用来构建强大的 CLI 程序。同时,Cobra 还提供了一个命令行工具,用来生成基本项目目录结构和创建子命令的代码模板,其实就是个脚手架工具。
Cobra 提供的功能:
- 简易的子命令行模式,如
app server,app fetch等等 - 完全兼容 POSIX 命令行模式
- 嵌套子命令
subcommand - 支持全局,局部,串联
flags - 使用 Cobra 很容易的生成应用程序和命令,使用
cobra create appname和cobra add cmdname - 如果命令输入错误,将提供智能建议,如
app srver,将提示找不到srver是否是app server - 自动生成
commands和flags的帮助信息 - 自动生成详细的
help信息,如app help - 自动识别
-h,--help帮助flag - 自动生成应用程序在 bash 下命令自动完成功能
- 自动生成应用程序的
man手册 - 命令行别名
- 允许灵活的自定义 help 和 usage 信息
- 可选的与 viper apps 紧密集成
使用方式请参看 这里

浙公网安备 33010602011771号