所以只要根据上面GOROOT的介绍,我们可以知道官方的程式库所在位置就是在GOROOT里面,而GOPATH就是专门存放第三方套件以供我们程式码的需要。依照Golang语言的惯例(强制),GOPATH是指src路径的上一层,我们要在GOPATH路径下主动新增src资料夹,所谓src就是代表source code的意思,也就是放我们开发Golang程式码的相关专案的原始码。以往的解决方法是要设定多组不同的GOPATH。虽然社群也有开发相对应的为了解决不被GOPATH的问题,因此官方在1.11开始推出了Go Modules的功能。Go Modules解决方式很像是Java看到Maven的做法,将第三方程式库储存在本地的空间,并且给程式去引用。总共可以三种不同的值:

解析GOROOT、GOPATH、Go-Modules-三者的关系

解析GOROOT、GOPATH、Go-Modules-三者的关系

解析GOROOT、GOPATH、Go-Modules-三者的关系

解析GOROOT、GOPATH、Go-Modules-三者的关系