Go 语言编程 — Cobra 指令行工具

醉酒当歌 提交于 2020-08-16 14:11:34

目录

Cobra(眼镜蛇)

在这里插入图片描述

Github:https://github.com/spf13/cobra

Cobra 是一个第三方 Golang 包,是一个应用程序生成框架,用于创建自己的应用程序或命令行(Command)程序,从而开发以 Cobra 为基础的应用。目前 Docker、Kubernetes、Hugo 等著名项目都使用了 Cobra。

Cobra 提供的功能

  • 完全兼容 POSIX 命令行模式。
  • 支持嵌套子命令(sub-command),如:app server, app fetch。
  • 支持全局,局部,串联 Flags。
  • 支持应用程序和命令行程序的创建,例如:cobra create appname 和 cobra add cmdname。
  • 如果命令输入错误,支持智能提醒。
  • 支持自动生成 commands 和 flags 的 help 信息。
  • 支持自动识别 -h,–help 选型。
  • 支持自动生成 man 手册。
  • 支持命令行别名。
  • 支持自定义 help 和 usage 信息。
  • 可选的紧密集成 viper 配置工具库。

Cobra 的核心概念

  • commands:命令行,代表行为。可细分为 rootCmd 和 subCmd。
  • arguments:命令行参数。
  • flags:命令行选型,代表对行为的改变。通常以 - 或 – 标识。

执行命令行程序时的一般格式为:

APPNAME COMMAND ARG --FLAG

# e.g.
git clone <URL> --bare

Cobra 的使用

在这里插入图片描述

安装:

$ go get -u github.com/spf13/cobra/cobra

初始化 Cobra Application:

$ mkdir $GOPATH/src/cobrademo
$ cd $GOPATH/src/cobrademo
$ cobra init --pkg-name cobrademo
$ ll
total 32
-rw-r--r--  1 mickeyfan  staff    11K  8 15 13:33 LICENSE
drwxr-x--x  3 mickeyfan  staff    96B  8 15 13:33 cmd
-rw-r--r--  1 mickeyfan  staff   644B  8 15 13:33 main.go
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!