- GOPATH是一个环境变量,它可以指向多个不同的路径,多个路径之间用":"分割 在终端中查看变量:echo $GOPATH
- GOPATH默认指向:"~/go"(unix, linux), "%USERPROFILE%\GO"(windows)
- 官方推荐:所有项目和第三放库都放在同一个GOPATH下,但也可以将每个项目放在不同的GOPATH
- go程序在编译时会到各个不同的GOPATH下找到自己依赖的包
export PATH="$GOPATH/bin:$PATH:/usr/local/go/bin"
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
- 实际上,go程序在编译时,会依次从"GOROOT", "GOPATH",和当前项目下的"src"目录下寻找所依赖的包,若找不到,编译会报错
"GOROOT"环境变量:存放go语言系统库文件的目录,如"fmt","io"等,就是go的SDK
"GOPATH"环境变量:存放第三方库和自己项目的目录,可以指定多个不同目录
"PATH"环境变量: 系统可执行文件存放的目录,即执行可执行文件时会从PATH中的目录进行搜索
- go第三方库的获取
- 终端执行 go get xxx 命令,有时会被墙
- 使用gopm 来获取 go get 无法下载的一些第三方包,gopm是一个包管理工具,类似与node.js的npm
gopm安装:
go get -v github.com/gpmgo/gopm
gopm的使用:
1.gopm get -v -g golang.org/x/tools/cmd/goimports
-v :获取过程中显示详细信息 -g :下载到GOPATH中
上一步只是获取到了包,并没有build
2.go install golang.org/x/tools/cmd/goimports
go install 会做两件事:
1> 将包"golang.org/x/tools/cmd/goimports"进行build,产生pkg 和 bin 文件
2>将build后的可执行文件放到GOPATH/bin中
另外,go run: 直接编译运行,这里没用到