go的依赖管理|青训营笔记

77 阅读1分钟

go的依赖管理|青训营笔记 实际工程开发中,一个重要概念就是依赖管理,这一章我们主要讲解go的依赖管理,主要涉及go依赖管理的演进路线和go module实践, 对于hello world以及类似的单体函数只需要依赖原生SDK,而实际工程会相对复杂,我们不可能基于标准库0~1编码搭建,而更多的关注业务逻辑的实现,而其他的涉及框架、日志、driver、
以及collection等一系列依赖都会通过sdk的方式引入,这样对依赖包的管理就显得尤为重要 下面我们——进行讲解,首先是GOPATH
GOPATH是Go语言支持的一个环境变量,value是Go项目的工作区。
目录有以下结构:src:存放Go项目的源码;pkg:存放编译的中间产物,加快编译速度;bin:存放Go项目编译生成的二进制文件 Vendor 是当前项目中的一个目录,其中存放了当前项目依赖的副本。在Vendor机制下,如果当前项目存在Vendor目录,会优先使用该目录下的依赖,如果依赖不存在,会从GOPATH中寻找;
这样。但vendor无法很好解决依赖包的版本变动问题和一个项目依赖同一个包的不同版本的问题 不在设仅不得录制和转载 好做单元次
Go Modules 是Go语言官方推出的依赖管理系统,解决了之前依赖管理系统存在的诸如无法依赖同一个库的多个版本等问题,go module从Go1.11开始实验性引入,Go 1.16 默以开启。