在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在使用go的过程中,我们有时候会引入一些第三方库来使用,而通常的方式就是使用 在读生产环境下go语言最佳实践有感一文中,我介绍过soundcloud公司的做法,直接将第三库的代码check下来,放到自己project的vendor文件夹里面,或者使用godep。 只是如今,我发现了一种更好的包管理方式gopkg。它通过约定使用带有版本号号的url来让go tool去check指定的版本号库,尽管如今仅仅支持github的go repositories,可是我认为已经足够强大。 一个非常easy的样例,我们通过例如以下方式获取go的yaml包
而实际上,该yaml包相应的地址为:
yaml.v1表明版本号为v1,而在github上面,有一个相应的v1 branch。 gopkg支持的url格式非常easy:
我们使用v.N的方式来定义一个版本号,然后再github上面相应的建立一个同名的分支。gopkg支持
那么gopkg相应选用的方式例如以下:
gopkg不建议使用v0,也就是0版本号号。 gopkg同一时候列出了一些建议,在更新代码之后是否须要升级主版本号或者不须要,一些必须升级主版本号的情况:
而一下情况,则不须要升级主版本号号:
上面都提到了更改结构体,譬如我给一个结构体添加字段,就可能不须要升级主版本号,可是假设删除结构体的一个导出字段,那就必须要升级了。假设仅仅是单纯的更改改结构体里面非导出字段的东西,也不须要升级。 更加具体的信息,请直接查看gopkg 能够看到,gopkg使用了一种非常easy地方式让我们方便的对go pakcage进行版本号管理。于是我也依葫芦画瓢,给我的log package做了一个v1版本号的,你能够直接 |
请发表评论