从零学习 Go 语言(01):一文搞定开发环境的搭建

hello_wbm · · 2193 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Hi,大家好呀,我是一个刚学习 Go 语言不久的新手,在入门 Golang 的这段时间里,我写了很多详细的学习笔记,很适合新手学习噢。这些文章已经发布在我的个人微信公众号里:《Go编程时光》里,今天开始将文章内容搬运到这里,希望有更多的人看到,给更的人带来帮助,但是这里文章会相对滞后,想获取最新文章,可以前往关注《Go编程时光》,请放心关注,这是一个纯分享的号,完全没有广告。 ## 1. 下载安装 Go语言 下载地址:https://golang.google.cn/dl/ 这是之前的文章,目前最新版本为 1.14 ,请下载最新的。 ![](http://image.python-online.cn/20200102220841.png) 下载完成后,直接双击 msi 文件进行安装,我习惯将软件安装在我的 E 盘下的 `Program Files` 目录下 ![](http://image.python-online.cn/20200102221555.png) 后面就是一路点击 `Next` 即可,直到出现如下界面,安装完成。 ![](http://image.python-online.cn/20200102221840.png) ## 2. 配置 Goland 环境 学习编程语言,使用一个称心的 IDE,可以帮你省去很多麻烦。 开发 Python 项目,我习惯使用 PyCharm,因为已经习惯了 JetBrains 风格的IDE,可以替我省去很多熟悉新IDE的成本,所以这里我照样使用 JetBrains 专门为 Go语言开发的IDE:`Goland`。 Goland 下载地址:https://download.jetbrains.com/go/goland-2019.2.3.exe 双击下载下来的 exe 文件,除了选择安装路径,我惯例更换成 E 盘之外,一路选择 `Next` , 直到如下界面,根据你的需要全选中(推荐全选) ![](http://image.python-online.cn/20200102221932.png) 接着一路 `Next`,直到出现如下界面,安装完成,选择 `Run Gogland` 立即运行。 ![](http://image.python-online.cn/20200102222123.png) 此时如果你若没有购买 JetBrains 的激活码,此时是无法使用 Goland 的。 ![](http://image.python-online.cn/20200102222635.png) 为了让我们的学习更加顺畅,这里会教大家使用 破解的方式获得 Goland 的使用权。 首先下载相关的破解补丁:http://c.biancheng.net/uploads/course/go/Goland_Crack_Sinicization.zip 下载的 zip 包里包含三个文件 ![](http://image.python-online.cn/20200102222907.png) - jetbrains-agent.jar:破解补丁 - resources_cn.jar:汉化补丁 - 激活码.txt:激活码 将 jetbrains-agent.jar 拷贝到 你的 Goland 安装目录的bin文件夹下,我的路径是:E:\Program Files\JetBrains\GoLand 2019.2.3\bin 然后用编辑器打开这两个文件 ![](http://image.python-online.cn/20200102223113.png) 在最后一行添加如下一行,你要根据自己路径对应修改后面的值 ```shell -javaagent:E:\Program Files\JetBrains\GoLand 2019.2.3\bin\jetbrains-agent.jar ``` 接着打开回到你的 Goland 启动界面,点击 `Activation code`,复制 `激活码.txt` 中的激活码,填入再点击 OK ![](http://image.python-online.cn/20200102223451.png) 此时你的 Goland 已经可以正常使用了,创建我的项目目录,顺便设置好 GOROOT 。 ![](http://image.python-online.cn/20200102223946.png) 创建好Project后,再点击 Files->Settings->GOPATH,添加我们的项目目录` F:\Go-Player` ![](http://image.python-online.cn/20200102224643.png) 随便点击一个go文件,就能在下图箭头处看到配置入口,点击进入配置一下 Go运行器。 ![](http://image.python-online.cn/20200102225750.png) 按照如下指示进行配置。 ![](http://image.python-online.cn/20200102225349.png) 去掉参数提示 ![](http://image.python-online.cn/20200127192147.png) 设置 goproxy ![](http://image.python-online.cn/20200127192512.png) 可先的代理有如下(注意后面的 direct 不要删除) - `https://goproxy.io` - `https://goproxy.cn` - `https://mirrors.aliyun.com/goproxy/` 设置 goimports(自动格式化插件),如果 你之前 没有安装 ,会提示你点击 `yes` 下载安装 。 ![](http://image.python-online.cn/20200127192748.png) 至此,环境配置完成。 在项目根目录下,创建如下三个文件夹,并在 src 目录下创建一个hello.go 的文件。 ![](http://image.python-online.cn/20200102224417.png) 点击运行按钮,在控制台我们看到了熟悉的 `Hello, World!` ![](http://image.python-online.cn/20200102225550.png) 另:有关 Golang 最新版的破解教程,请关注这个博客:https://zhile.io ## 3. 配置 VS Code 环境 提前设置用户级的环境变量 ``` GOPATH = F:\Go-Player PATH = %GOPATH%\bin # 以追加的方式 ``` 昨天评论区有人问,GOPATH 和 GOROOT 是什么?为什么需要设置?回想一下 你学 Python 的话,安装 Python 解释器的时候,是不是也要设置环境变量?这里也是类似。 GOROOT :在GO语言中表示的是 Go语言编译、工具、标准库等的安装路径,通过它可以告诉系统你的 go.exe 是放在哪里,不设置的话,你后面执行 `go get` 、`go install` 的时候,系统就不认识它了。 而 GOPATH环境变量则表示 Go的工作目录,这个目录指定了需要从哪个地方寻找GO的包、可执行程序等,这个目录可以是多个目录表示。这里我设置成我的工作空间(目录你可以自己定) :`F:\Go-Player`,如果不设置的话 ,默认是在你的用户目录下的 go 文件夹。 这时要再说一点,GO 项目中,一般来说它的工作目录结构是这样的: - bin:存放编译后生成的二进制可执行文件 - pkg:存放编译后生成的 `.a` 文件 - src:存放项目的源代码,可以是你自己写的代码,也可以是你 go get 下载的包 所以后面我的创建的GO工作目录,也是按照这个标准来,先说明一下。 接下来,要开始配置 VS Code 环境。 打开你的 VS Code软件,先确认你设置的环境变量已经生效,点击 `Terminal` -> `New Terminal`,使用 cmd 命令查看环境变量。 ![](http://image.python-online.cn/20200109210630.png) 如上图所求,我的环境变量是OK的,如果你的输出是指向你的用户目录:`%USERPROFILE%\go` 建议你不要折腾(因为我无论重启多少次 VS Code,其记录的GOPATH始终指向%USERPROFILE%\go), 直接重启你的电脑。 好了之后,我们要从 github 上下载两个仓库,之所以要手动下载,是因为有墙的存在,在线安装的话,很多插件你会下载失败。 创建目录 `src/goland.org/x/`,并进入此目录,执行命令 ```shell $ git clone https://github.com/golang/tools.git $ git clone https://github.com/golang/lint.git ``` 点击 `File` - `Open Folder` 安装两个插件: 第一个是:Go 语言的扩展插件 ![](http://image.python-online.cn/20200108202934.png) 第二个是:Code Runner,让你的 VS Code 能够编译运行 Go 的程序。 ![](http://image.python-online.cn/20200109153948.png) 随便点开一个 go 文件,在你的右下角会提示要你安装一些工具,安装的包有些由于墙的原因,无法下载,为了保证下载顺利,可以设置一下代理。 ```shell $ go env -w GOPROXY=https://goproxy.cn,direct ``` 然后再点击 `Install All` ![](http://image.python-online.cn/20200109210654.png) 然后你在 OUTPUT 就能看到安装进度 ![](http://image.python-online.cn/20200109211543.png) 安装的 exe 文件会放在 %GOPATH%/bin 下,也就是 `F:\Go-Player\bin` ![](http://image.python-online.cn/20200109213056.png) 而此的 src 目录结构是这样的 ![](http://image.python-online.cn/20200109214117.png) 到这时环境配置完成,编写 HelloWorld,并运行查看输出,一切完成。 ![](http://image.python-online.cn/20200109154657.png) ## 4. 配置环境变量 当你在终端使用 `go env` 的时候,会打印出go 相关的所有环境变量 ```shell $ 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` 后面 ```shell $ 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 模式 ```shell $ go env -w GO111MODULE=on ``` - 一个是开启代理,防止下载包失败(前面可能你已经设置过) ```shell $ go env -w GOPROXY=https://goproxy.cn,direct ``` --- ![](http://image.python-online.cn/20200321153457.png)

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2193 次点击  
加入收藏 微博
被以下专栏收入,发现更多相似内容
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传