使用 Cobra 创建功能强大的 Golang CLI 程序

简介

Cobra 既是一个用来创建强大的现代 CLI 命令行的 Golang 库,也是一个生成程序应用和命令行文件的程序。

Cobra 在很多 Go 项目中都有使用,例如: KubernetesHugo, 和 Github CLI。更多使用 Cobra 的程序见这个列表

简而言之,Cobra 有两部分组成,一个是库,一个是 Cobra 程序。Cobra 库可以在你的项目中引用,Cobra 提供了简洁的接口用来构建强大的 CLI 程序。同时,Cobra 还提供了一个命令行工具,用来生成基本项目目录结构和创建子命令的代码模板,其实就是个脚手架工具。

Cobra 提供的功能:

  • 简易的子命令行模式,如 app serverapp fetch 等等
  • 完全兼容 POSIX 命令行模式
  • 嵌套子命令 subcommand
  • 支持全局,局部,串联 flags
  • 使用 Cobra 很容易的生成应用程序和命令,使用 cobra create appnamecobra add cmdname
  • 如果命令输入错误,将提供智能建议,如 app srver,将提示找不到 srver 是否是 app server
  • 自动生成 commandsflags 的帮助信息
  • 自动生成详细的 help 信息,如 app help
  • 自动识别 -h--help 帮助 flag
  • 自动生成应用程序在 bash 下命令自动完成功能
  • 自动生成应用程序的 man 手册
  • 命令行别名
  • 允许灵活的自定义 help 和 usage 信息
  • 可选的与 viper apps 紧密集成

使用方式请参看 这里

posted @ 2020-12-05 12:57  人间有味  阅读(210)  评论(0)    收藏  举报