cobra安装

安装cobra

cobra是golang中一个开发命令行程序的一个十分好用的包,但是安装起来是真的麻烦。安装过程无数困难,老师给的方案解释压根就不清楚。

首先最基本的,先确定你的GOPATH,GOROOT,GOBIN环境变量都设置好了。尤其是GOBIN,很容易疏忽。

以下的方法适用于linux、windows、mac三种系统。我们宿舍都是用这种方法装好的。

首先,cobra安装过程需要一些支持的包,没有这些东西的话半路会报错,会报各种莫名其妙的错误。但是事先装好这些依赖包,就没啥毛病了。这里需要的包是sys与text。放在哪里呢?放在$GOPATH$/src/golang.org/x/目录下。GOPATH就是你的go语言工作区。src目录下没有golang.org文件夹?手动新建一个。x文件夹也手动新建一个。

然后进入x文件夹,使用如下命令从git克隆这两个包。

git clone https://github.com/golang/sys.git
git clone https://github.com/golang/text.git

下载速度极慢!!等就行了。 首先先这这两个包装好,不然的话,下面那一步必定会报错。

2、包装好之后,就可以正常安装了。 

go get -v github.com/spf13/cobra/cobra

如果上一步弄的没问题的话,这一步理论上是不会出现问题的。假如又报错了,先检查自己的环境变量有没有设置好。如果还报错!抱歉我反正没报错我也不知道该怎么办。

3、接下来来看看cobra怎么用。

直接在你的src路径下运行go的install命令。

go install github.com/spf13/cobra/cobra

划重点:请一定事先确定好GOBIN环境变量已经设置好!!我就是因为这个问题搞了半天。如何设置GOBIN环境变量?和设置GOPATH的时候一模一样。在golang安装教程里,ubuntu和mac的教程一半都会教你怎么把GOBIN弄好,然后Windows!很多很多人都忽略了这个环境变量!在用户变量里新建一个GOBIN,指向你的工作区下的bin文件夹。然后再系统变量的PATH里添加GOBIN。使用go env命令来看看的你的GOBIN是不是设置好了。直接命令行随便一个路径下运行go env,要是这都报错,说明你go语言都没装上。

agenda-go开发过程

实训的时候开发过一次agenda程序,所以在实现的过程中很大程度上参考了实训的实现方式。由于cobra的存在使得go语言创建命令行变得十分容易。只要的架构是:

1、cmd文件夹内放各种命令。命令行通过读取参数之后,调用service层的函数来进行信息反馈。

2、service是各种命令的内核。service内的文件保存了控制agenda的各种高层API,这些API的实现又依赖于更加底层的API,即entity。

3、entity保存各个类的底层实现,并提供API供service层调用。

4、data文件夹用来保存各种用户信息会议信息出错信息等。

5、log文件夹中的文件封装了打开日志关闭日志的过程,service层通过调用log提供的API来方便地保存日志信息。

首先实现entity层的内容。这是最底层的类,时间、会议、用户、存储过程。这些类都提供API共服务层调用来修改类内部信息。

写好了entity之后就开始创建命令并将实现此命令的需要的操作封装成函数,保存在service层中。所以实现起来的时候是服务层和命令行一起进行的。命令行进行的操作封装成函数保存在服务层中,cmd内的各个命令只需要通过读取命令行提供给服务层参数就好,然后利用服务层函数的运行结果进行信息的反馈。创建命令的时候需要设计好各条命令的实现逻辑,然后设计好命令行参数使用户按照格式输入。输入不合法的时候服务层返回错误,命令行文件如果收到了错误则显示错误信息。

最后,再添加日志功能。将打开和关闭日志文件的操作封装成函数,然后修改服务层,使得服务层再运行完特定的函数之后可以保存日志信息。

最终的实现结果再github的readme中都有显示。

github链接:https://github.com/723Family/agenda

猜你喜欢

转载自blog.csdn.net/qq_36303832/article/details/83617489