简介 cobra 是一个命令行程序库,可以用来编写命令行程序。同时,它也提供了一个脚手架, 用于生成基于 cobra 的应用程序框架。非常多知名的开源项目使用了 cobra 库构建命令行,如 Kubernetes 、 Hugo 、 etcd 等等等等。 本文介绍 cobra 库的基本使用和一些有趣的特性。 关于作者 spf13 ,这里多说两句。spf13 开源不少项目,而且他的开源项目质量都比较高。 相信使用过 vim 的都知道 spf13-vim ,号称 vim 终极配置。 可以一键配置,对于我这样的懒人来说绝对是福音。他的 viper 是一个完整的配置解决方案。 完美支持 JSON/TOML/YAML/HCL/envfile/Java properties 配置文件等格式,还有一些比较实用的特性,如配置热更新、多查找目录、配置保存等。 还有非常火的静态网站生成器 hugo 也是他的作品。 快速使用 第三方库都需要先安装,后使用。下面命令安装了 cobra 生成器程序和 cobra 库: $ go get github.com/spf13/cobra/cobra 如果出现了 golang.org/x/text 库找不到之类的错误,需要手动从 GitHub 上下载该库,再执行上面的安装命令。我以前写过一篇博客 搭建 Go 开发环境 提到了这个方法。 我们实现一个简单的命令行程序