用 Cobra 写一个命令行工具
Cobra 是一款非常流行的命令行生成工具,由 Go 语言实现,比如说著名的博客工具 Hugo , GitHub 命令行等都是用它实现的。 一直以来我只是闻其名,却没有真正用过。最近入职了新公司,简单熟悉了新组的代码库之后,发现整个框架就是用 Cobra 搭起来的,虽然本质上是各种复杂的服务,但 Cobra 可以为用户提供一套非常简单有效的命令行工具来操作它们。因此借着这个机会,趁周末放假,我在自己的机器上实现了一个简单的命令行工具来计算输入的数学表达式,以此来熟悉一下这个大名鼎鼎的命令行构建工具。 需求 需求很简单,输入一段数学表达式,能够输出正确结果,比如说 1 + 2 得到 3 ,支持加减乘除和指数计算,包括小括号。 因为只是练习之作,这个小玩具就简单粗暴地命名为 suan ,取汉字“算”的拼音。 环境 我的 Go 版本如下所示, » go version go version go