1. 一文搞定Go语言开发环境的搭建

4,293 阅读5分钟

文章首发自公众号:Go编程时光

《Go编程时光》,一个能带你学习 Go 语言的专栏,同时欢迎搜索我的同名公众号【Go编程时光】(排版精美更适合阅读),第一时间获取Go语言干货。

1. 下载安装 Go语言

下载地址:golang.google.cn/dl/

下载完成后,直接双击 msi 文件进行安装,我习惯将软件安装在我的 E 盘下的 Program Files 目录下

后面就是一路点击 Next 即可,直到出现如下界面,安装完成。

2. 配置 Goland 环境

学习编程语言,使用一个称心的 IDE,可以帮你省去很多麻烦。

开发 Python 项目,我习惯使用 PyCharm,因为已经习惯了 JetBrains 风格的IDE,可以替我省去很多熟悉新IDE的成本,所以这里我照样使用 JetBrains 专门为 Go语言开发的IDE:Goland

Goland 下载地址:download.jetbrains.com/go/goland-2…

双击下载下来的 exe 文件,除了选择安装路径,我惯例更换成 E 盘之外,一路选择 Next , 直到如下界面,根据你的需要全选中(推荐全选)

接着一路 Next,直到出现如下界面,安装完成,选择 Run Gogland 立即运行。

此时如果你若没有购买 JetBrains 的激活码,此时是无法使用 Goland 的。

为了让我们的学习更加顺畅,这里会教大家使用 破解的方式获得 Goland 的使用权。

首先下载相关的破解补丁:c.biancheng.net/uploads/cou…

下载的 zip 包里包含三个文件

  • jetbrains-agent.jar:破解补丁
  • resources_cn.jar:汉化补丁
  • 激活码.txt:激活码

将 jetbrains-agent.jar 拷贝到 你的 Goland 安装目录的bin文件夹下,我的路径是:E:\Program Files\JetBrains\GoLand 2019.2.3\bin

然后用编辑器打开这两个文件

在最后一行添加如下一行,你要根据自己路径对应修改后面的值

-javaagent:E:\Program Files\JetBrains\GoLand 2019.2.3\bin\jetbrains-agent.jar

接着打开回到你的 Goland 启动界面,点击 Activation code,复制 激活码.txt 中的激活码,填入再点击 OK

此时你的 Goland 已经可以正常使用了,创建我的项目目录,顺便设置好 GOROOT 。

创建好Project后,再点击 Files->Settings->GOPATH,添加我们的项目目录F:\Go-Player

随便点击一个go文件,就能在下图箭头处看到配置入口,点击进入配置一下 Go运行器。

按照如下指示进行配置。

去掉参数提示

设置 goproxy

设置 goimports(自动格式化插件),如果 你之前 没有安装 ,会提示你点击 yes 下载安装 。

至此,环境配置完成。

在项目根目录下,创建如下三个文件夹,并在 src 目录下创建一个hello.go 的文件。

点击运行按钮,在控制台我们看到了熟悉的 Hello, World!

3. 配置 VS Code 环境

提前设置用户级的环境变量

GOPATH = F:\Go-Player
PATH = %GOPATH%\bin  # 以追加的方式

昨天评论区有人问,GOPATH 和 GOROOT 是什么?为什么需要设置?回想一下 你学 Python 的话,安装 Python 解释器的时候,是不是也要设置环境变量?这里也是类似。

GOROOT :在GO语言中表示的是 Go语言编译、工具、标准库等的安装路径,通过它可以告诉系统你的 go.exe 是放在哪里,不设置的话,你后面执行 go getgo install 的时候,系统就不认识它了。

而 GOPATH环境变量则表示 Go的工作目录,这个目录指定了需要从哪个地方寻找GO的包、可执行程序等,这个目录可以是多个目录表示。这里我设置成我的工作空间(目录你可以自己定) :F:\Go-Player,如果不设置的话 ,默认是在你的用户目录下的 go 文件夹。

这时要再说一点,GO 项目中,一般来说它的工作目录结构是这样的:

  • bin目录:包含了可执行程序,注意是可执行的,不需要解释执行。

  • pkg目录:包含了使用的包或者说库。

  • src目录:里面包含了go的代码源文件,其中仍按包的不同进行组织。

所以后面我的创建的GO工作目录,也是按照这个标准来,先说明一下。

接下来,要开始配置 VS Code 环境。

打开你的 VS Code软件,先确认你设置的环境变量已经生效,点击 Terminal -> New Terminal,使用 cmd 命令查看环境变量。

如上图所求,我的环境变量是OK的,如果你的输出是指向你的用户目录:%USERPROFILE%\go 建议你不要折腾(因为我无论重启多少次 VS Code,其记录的GOPATH始终指向%USERPROFILE%\go), 直接重启你的电脑。

好了之后,我们要从 github 上下载两个仓库,之所以要手动下载,是因为有墙的存在,在线安装的话,很多插件你会下载失败。

创建目录 src/goland.org/x/,并进入此目录,执行命令

$ git clone https://github.com/golang/tools.git
$ git clone https://github.com/golang/lint.git

点击 File - Open Folder 安装两个插件:

第一个是:Go 语言的扩展插件

第二个是:Code Runner,让你的 VS Code 能够编译运行 Go 的程序。

随便点开一个 go 文件,在你的右下角会提示要你安装一些工具,安装的包有些由于墙的原因,无法下载,为了保证下载顺利,可以设置一下代理。

$ go env -w GOPROXY=https://goproxy.cn,direct

然后再点击 Install All

然后你在 OUTPUT 就能看到安装进度

安装的 exe 文件会放在 %GOPATH%/bin 下,也就是 F:\Go-Player\bin

而此的 src 目录结构是这样的

到这时环境配置完成,编写 HelloWorld,并运行查看输出,一切完成。

4. 配置环境变量

当你在终端使用 go env 的时候,会打印出go 相关的所有环境变量

$ go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\wangbm\AppData\Local\go-build
set GOENV=C:\Users\wangbm\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=E:\MING-Code\GoPlayer
set GOPRIVATE=
set GOPROXY=https://goproxy.cn,direct
set GOROOT=D:\Program Files (x86)\Go-1.13.6
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=D:\Program Files (x86)\Go-1.13.6\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config

想查看几个特定的环境变量就加在 go env 后面

$ go env GOPATH
E:\MING-Code\GoPlayer
$ go env GOROOT
D:\Program Files (x86)\Go-1.13.6
$ go env GOPROXY
https://goproxy.cn,direct

以上环境变量很多,这里仅设置下面这两个就足够了

  • 一个是GO111MODULE 设置为 on,表示使用 go modules 模式
$ go env -w GO111MODULE=on
  • 一个是开启代理,防止下载包失败(前面可能你已经设置过)
$ go env -w GOPROXY=https://goproxy.cn,direct