偷懒的故事
今天的推荐需要从一个偷懒的故事说起:
话说,不久之前,需要输出一个按发布时间排序的酷Go推荐的历史文章列表,类似于这样
![alt](https://i-blog.csdnimg.cn/blog_migrate/6c565887c3786efa4d85622e24658920.png)
于是乎,从GoCN上一篇一篇copy文章的标题吧,5篇下来,手眼已经不协调了,此时此刻才想起自己貌似是个码农,此情此景那必须coding一段,让代码来输出这个列表。
思路很简单,看一下GoCN文章列表的API,再看下鉴权方式(看header是通过cookie),然后就可以coding了,通过API拉取文章数据,提取需要的字段再组装成MD输出就完事了!当准备一个main.go搞定的时候,本着对coding的敬畏,简单的思考了一下程序的可读性、拓展性,决定还是构建一个比较完整的命令行程序,如下:
![alt](https://i-blog.csdnimg.cn/blog_migrate/beeeb45324d7a0fa9681ff3ea894c47c.png)
主角登场
那么要实现上图的命令行提示,程序参数解析等,不借助于第三方包当然也能实现。但,前人种好的大树为哈不乘凉呢,在业界对于命令行工具的开发已经有比较成熟的实现,下面清楚本文的主角:
-
cobra:应用命令行框架