cobra是Go语言的一个命令行库,用来编写程序的命令行功能。并且提供了一个脚手架, 可以用于生成基于 cobra 的应用程序框架。许多知名的开源项目都使用 cobra 库实现命令行功能,例如:Kubernetes、etcd等等。
cobra 提供可以为程序提供许多功能,包括:支持子命令、兼容 POSIX 选项、嵌套子命令等,并可使用脚手架轻松生成程序框架和命令。
了解之前需要明确 3 个基本概念:
- 命令(Command):就是需要执行的操作;
- 参数(Arg):命令的参数;
- 选项(Flag):用于调整命令的行为。