当我们真正用 Go 去做项目,或者阅读 Go 项目(如,Go 实现的开源项目)时,不可避免的会遇到包依赖问题,一些包管理方式总是很难区分、选择。Go的包管理与Java的Maven依赖管理不太一样,起初Go的包管理方式经常会被人吐槽,但随之Go版本的升级也出现了不同的包管理方式,以满足不同的需求。
GOPATH
1、GOPATH
GOPATHeclipseworkspace
工作目录是一个工程开发的相对参考目录,好比当你要在公司编写一套服务器代码,你的工位所包含的桌面、计算机及椅子就是你的工作区。工作区的概念与工作目录的概念也是类似的。如果不使用工作目录的概念,在多人开发时,每个人有一套自己的目录结构,读取配置文件的位置不统一,输出的二进制运行文件也不统一,这样会导致开发的标准不统一,影响开发效率。
GOPATH
1.1 GOPATH的基本使用
GOPATH
查看
go env
GOPATHE:\github
GOPATHGOPATH
设置
set GOPATH=
export GOPATH=
1.2 GOPATH工程结构
GOPATH
目录 | 描述 |
src | 代码,可以创建多个不同的包,手动创建对应包目录。 |
bin | 编译代码生成的二进制文件。 |
pkg | 编译生成的中间缓存文件。 |
binpkggo buildgo installgo get
例如:
1.3 GOPATH和GOROOT的区别
GOROOTGOPATH
GOROOTJDKGOPATH
2、小结
GOPATHGOPATH/src
GOPATH/src
因此,这也是 Go 语言之初被诟病的一个点,那么该如何解决上述问题呢?