
1.7 搭建GoLand环境
GoLand激活成功后,再次打开GoLand,在Welcome to GoLand界面单击Configure,找到并单击Settings,从而进入Settings for New Projects界面,如图1-21所示。
在Settings for New Projects界面打开Go→GOROOT选项,然后选择已安装的Go语言编译器,如图1-22所示。
如果GoLand不是最新版本,配置GOROOT的时候会提示“The selected directory is not a valid home for Go SDK”异常,这是GoLand与Go语言版本不匹配导致,我们在Go语言安装目录下打开src\runtime\internal\sys\zversion.go,然后添加代码const TheVersion = `go1.18`,其中go1.18代表Go语言版本,保存文件后即可在GoLand配置GOROOT。

图1-21 Welcome to GoLand界面

图1-22 配置GOROOT
下一步单击GOPATH,在该界面看到Global GOPATH和Project GOPATH配置,如图1-23所示。

图1-23 配置GOPATH
Global GOPATH和Project GOPATH的配置说明如下:
1)Global GOPATH:代表全局GOPATH,一般来源于系统环境变量中的GOPATH,所有Go语言项目都能使用该路径,它与Go语言的环境变量GOPATH相同。
2)Project GOPATH:代表项目所使用的GOPATH,仅适用于当前项目。
安装Go语言开发环境已设置了环境变量GOPATH(即Global GOPATH),我们只需在Project GOPATH下配置即可。在E盘下创建go文件夹,然后在Project GOPATH下添加go文件夹的路径信息,如图1-24所示。

图1-24 配置Project GOPATH
最新版本Go语言的配置属性GO111MODULE为on,它用于开启或关闭模块支持,设有3个可选值:off、on、auto,每个可选值的说明如下:
1)GO111MODULE=off:无模块支持,Go语言会从GOPATH和vendor文件夹寻找包。
2)GO111MODULE=on:模块支持,Go语言忽略GOPATH和vendor文件夹,只根据go.mod下载依赖。
3)GO111MODULE=auto:分别从GOPATH、vendor文件夹或go.mod寻找包。
配置属性GO111MODULE用于解决早期Go语言对模块或包管理遗漏下来的问题,早期Go语言是通过GOPATH和vendor文件夹管理模块或包的,现更改为使用go.mod管理模块或包。
为了更好地兼容新旧版本问题,我们将GO111MODULE设为auto。打开CMD窗口,输入并执行指令go env -w GO111MODULE=auto即可,如图1-25所示。
由于国内网络问题,使用go get指令下载第三方包会出现网络无法接通的问题,为了解决此问题,在CMD窗口输入并执行指令go env -w GOPROXY=https://goproxy.cn,direct即可。
最后在CMD窗口输入“go env”即可查看当前Go语言的环境信息,如图1-26所示。

图1-25 配置属性GO111MODULE

图1-26 Go语言的环境信息