GOROOT
GO语言安装的路径,如MAC下是/usr/local/go,类似于JAVA中的JAVA_HOME。
GOPATH
GOPATH表示代码包所在的地址,可以设置多个。
假设:GOPATH=~/go1:~/go2,GOROOT=/usr/local/go,在代码中引用了包:github.com/bitly/nsq/util
那么:GO程序在编译时会按先后次序到以下目录中寻找源码:
~/go1/github.com/bitly/nsq/util
~/go2/github.com/bitly/nsq/util
/usr/local/go/github.com/bitly/nsq/util如果三个目录中都没有找到这个包,就会报错。
PATH
可执行程序的路径,在命令行执行命令时,系统默认会在PATH中指定路径里寻找。比如linux下我们用最常用的ls命令,执行时我们并未指定ls命令的路径,也没有切换到ls所在的目录下去执行该命令。这就是因为ls命令的可执行文件所在的目录在PATH中录入了。
go安装后,在GOROOT/bin目录,如MAC的/usr/local/go/bin目录下会有go、godoc、gofmt三个可执行命令。为了方便在编译go项目时方便的使用go build、go install等命令,需要将GOROOT/bin目录加入到系统的PATH路径下。