Go超全环境搭建(附镜像与资料)❤️

426 阅读13分钟

Go 是门开源语言,它能让构造一些简单、可靠且高效的软件变得容易。已经有越来越多的同行学习使用Go语言,也有逐步增长的趋势。在云原生,边缘计算以及后端开发都占有一席之地。一起抓住假期的小尾巴,所以晨希这里带伙伴们一起保姆式的搭建。坐稳了发车:

🎥 Go的简史

一看 Go的名字,你是不是猜到和 Google 有很紧密的联系了吧?没错的,Go确实是 Google 的亲儿子。

随着移动互联网带来的科技改变,现在服务器软件系统越来越庞大,程序都是由成千上万的程序员共同编写,源代码也以数百万行计,而且实际上还需要每天都进行更新,它鲜明特点开头也提到过。

但是随之带来严重的问题,即使你使用大型编译集群之上进行一次 build,时间周期也是不可被我们接受的。

那么它就出生了,作为一个标准的富二代,Go 语言一开始就赢在了人生的起跑线上。

它的诞生就是为了解决这样高难度的问题。而以往别的编程语言老前辈(JAVA:你干脆直接念我的身份证好了),都是有很严重的历史包袱,对于这种问题老一辈也是采用以迂回的方式处理,并不是迎头而上的解决方式。

Go语言就是在这样的环境下出现的。简单来说,Go语言作为后浪,就是要把前浪拍在沙滩上的!(其他语言大佬别打我,就是吹吹牛~)

Go 语言的创作者

2 既然 Go 语言拥有 Google 这么强大的背景,那它的创作者也肯定来头不小的,分别是:肯·汤普逊(Ken Thompson),罗布·派克(Rob Pike),以及 罗伯特·格瑞史莫(Robert Griesemer)。

可能读者对于他们的名字不是很熟悉,但是如果列举出来他们做了那些壮举,那肯定都是如雷贯耳,都是著名的 IT 工程师,编程界的咱们祖师爷:

肯·汤普逊(Ken Thompson)、罗布·派克(Rob Pike)、罗伯特·格瑞史莫(Robert Griesemer)这被称为是计算机领域「发明之父」所组成的黄金团队,他们对系统编程语言,操作系统和并行都有着非常深刻的见解

Go资源下载

复制打开度盘即可
链接:pan.baidu.com/s/1g46563LR…

提取码:cxnb

🌈 1 下载版本

Go官网下载地址:golang.org/dl/
我推荐镜像:golang.google.cn/dl/

Windows平台 和 Mac 平台推荐下载都是可执行文件,Linux平台下载压缩文件版,就在红框框里面自己去选。 1

  • Go 下载需要依赖包借助 Git工具,这里就不做搭建了啊。

1 值得注意的是,安装版是 Mac和Windows 特有的,他们的名字类似于:


go1.9.darwin-amd64.pkg
go1.9.windows-386.msi
go1.9.windows-amd64.msi

安装版,顾名思义,双击打开它会出现安装向导,让你选择安装的路径,帮你设置好环境比安康等信息,比较省事一些。

这里的压缩版的就是一个压缩文件,可以解压得到里面的内容,他们的名字类似于:


go1.9.darwin-amd64.tar.gz
go1.9.linux-386.tar.gz
go1.9.linux-amd64.tar.gz
go1.9.windows-386.zip
go1.9.windows-amd64.zip

压缩版我们下载后需要解压,然后自己移动到要存放的路径下,并且配置环境变量等信息,相比安装版来说,比较复杂一些,手动配置的也比较多,你也可以选择到镜像网站选择相应的版本下载,基本上都是最新版,可以放心食用。

2 测试是否安装

下面是版本命令,如果正常输出那就说明已经安装。


go version

### 像这样
go version go1.16.4 windows/amd64

3 编辑器的选择

小孩子才做选择题, 35

VSCode特点:轻量,丰富插件,跨平台开发。
Goland特点:调试较强,强大的代码洞察力,内置多种开发工具集。

2 🖥️ 安装

👨‍💻 Linux安装(推荐这种)

Ubuntu 64位进行演示,CentOS,RedHat等其他发行版就是安装命令与路径大同小异的,不影响。

go1.9.linux-amd64.tar.gz 下载并传到 ubuntu 64位后,进行解压,你可以采用自带的解压软件解压,如果没有可以在终端行使用 tar命令行 工具解压,我们这里选择的安装目录是 /usr/local/go,可以使用如下命令:


tar -C /usr/local -xzf go1.9.linux-amd64.tar.gz

如果提示没有权限,在最前面加上 sudo 以root用户的身份运行。运行后,在/usr/local/下就可以看到go目录了。如果是自己用软件解压的,可以拷贝到/usr/local/go目录下,但是要保证你的go文件夹下是bin、src、doc等目录,不要go文件夹下又是一个go文件夹,这样就双重嵌套了那就不行。

然后就要配置环境变量了,Linux 下有两个文件可以配置,其中/etc/profile是针对所有用户都有效的;$HOME/.profile是针对当前用户有效的,可以根据自己的情况选择。

针对所有用户的需要重启电脑才可以生效;针对当前用户的,在终端里使用 source命令 加载这个$HOME/.profile即可生效。


source ~/.profile

使用文本编辑器譬如 VIM 编辑他们中的任意一个文件,在文件的末尾添加如下配置保存(:wq)即可:


export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin

其中GOROOT环境变量表示我们GO的安装目录,这样其他软件比如我们使用的Go开发IDE就可以自动的找到我们的Go安装目录,达到自动配置Go SDK的目的。

第二句意思是把/usr/local/go/bin这个目录加入到环境变量PATH里,这样我可以在终端里直接输入go等常用命令使用了,而不用再加上/usr/local/go/bin这一串绝对路径,更加的简洁方便。

以上配置好之后,我们打开终端,输下面命令,就可以看到go的版本等信息了。


➜  ~ go version
go version go1.9 linux/amd64

这就说明我们已经安装go成功了,如果提示go这个命令找不到,说明我们配置还不对,主要在PATH这个环境变量,仔细检查,直到可以正常输出为止

🍏 Mac下安装

分成压缩版和安装版,他们都是64位的。压缩版和 Linux 的大同小异,因为 Mac 和 Linux 都是基于Unix的,终端这一块基本上是相同的,基本上MAC是程序员的最爱哈哈。

压缩版解压后,就可以和 Linux 一样放到一个目录下,这里也以/usr/local/go/为例。在配置环境变量的时候,针对所有用户和Linux也是一样的,都是/etc/profile这个文件;针对当前用户,Mac下是$HOME/.bash_profile,其他配置都一样,包括编辑sudo权限和生效方式,最后在终端里测试一下:


➜  ~ go version
go version go1.9 darwin/amd64

Mac安装版下载后双击可以看到安装界面,按照提示下一步下一步即可。安装版默认安装目录是/usr/local/go,并且也会自动的把/usr/local/go/bin目录加入到PATH环境变量中,重新打开一个终端,就可以使用go version进行测试了,我就这里不演示了。

👩‍💻 Windows安装

此安装实例用 64位Win10系统 安装 Go1.11.5可执行文件版本为例。

将上一步选好的安装包下载到本地磁盘。

双击下载好的文件 2 3 4 5

配置GOPATH

配置GOPATH。GOPATH:工作目录,就是放你项目代码的地方 24 这个工作目录我们可以根据自己的设置指定,比如我的Mac在$HOME/code/go下,Window的可以放到d:\code\go下等。该目录下有3个子目录,他们分别是:


.
├── bin
├── pkg
└── src

这都是啥意思呢?

bin文件夹存放go install命名生成的可执行文件,可以把GOPATH/bin路径加入到PATH环境变量里,就和我们上面配置的GOPATH/bin路径加入到PATH环境变量里,就和我们上面配置的GOROOT/bin一样,这样就可以直接在终端里使用我们go开发生成的程序了。

pkg文件夹是存在go编译生成的文件。

src存放的是我们的go源代码,不同工程项目的代码以包名区分。

cmd输入go env 查看是否安装成功

步骤

将D:\code\go添加到环境变量:

(1)GOROOT为disk:\directory\GoDevelopment\GoRoot,

  • 例如D:\GoWorks\GoDevelopment\GoRoot

(2)GOPATH为disk:\directory\GoDevelopment\GoWorkspace,

  • 例如D:\GoWorks\GoDevelopment\GoWorkspace

(3)MINGGW_HOME为disk:\directory\GoDevelopment\Mingw64,

  • 例如D:\GoWorks\GoDevelopment\Mingw64

(4)GO111MODULE为on

(5)GOPROXY为goproxy.cn

追加Path变量

(1)%GOROOT%\bin

(2)%GOPATH%\bin

(3)%MINGGW_HOME%\bin

配置结果如图所示:

20 6 7 8 9 13 10 12 在 Go 1.8 版本 之前,GOPATH环境变量默认是空的。请你注意了,从 Go1.8 版本开始后,Go开发包在安装完成后会为GOPATH设置一个默认目录。

GOPATH在不同操作系统平台上的默认值

Windows | %USERPROFILE%/go | C:\Users\用户名\go
Unix | $HOME/go | /home/用户名/go

同时,我们将 GOROOT下的bin目录及GOPATH下的bin目录都添加到环境变量中。

3 📝 Go开发编辑器

Go是UTF-8编码的文本文件存放源代码,理论上使用任何一款文本编辑器都可以做Go语言开发,但是这里推荐使用VS Code和Goland。 VS Code是微软开源的编辑器,而Goland是jetbrains出品的付费IDE

我们这里使用VS Code 加插件做为go语言的开发工具。

VSCode

VS Code全称Visual Studio Code,是微软公司开源的一款免费现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,支持 Win、Mac 以及 Linux平台。

虽然不如某些IDE功能强大,但是它添加Go扩展插件后已经足够胜任我们日常的Go开发。

官方:code.visualstudio.com/Download

请根据自己的电脑平台选择对应的安装包。

17 双击下载好的安装文件,双击安装即可。

配置 安装中文简体插件 点击左侧菜单栏最后一项管理扩展,在搜索框中输入chinese ,选中结果列表第一项,点击install安装。

安装完毕后右下角会提示重启VS Code,重启之后你的VS Code就显示中文啦!

VSCode主界面介绍:

安装go扩展

现在我们要为我们的VS Code编辑器安装Go扩展插件,让它支持Go语言开发。 19

Code Runner 必装

代码快捷运行, 可以运行片段,十分强大,推荐安装 21

TabNine 推荐

全语言代码推理补全插件,十分强大,推荐安装 22

Goland配置

Goland下载地址 www.jetbrains.com/

输入 idea.singee77.com/ ,就激活就可以了,这可不行使用下面那个
最新激活吗:www.activejetbrains.gq

还不行就百度找吧

另外说明:如果是sublime 安装go (sublime 安装插件不详说)

  • 1)直接 按住快捷键 shift + ctrl + p,在弹出框中输入install package,回车

  • 2)输入gosublime,回车(一定要有gosublime)

    1. gosublime安装完成后,Preferences -> package settings -> GoSublime -> Settings - Uesrs需要配置下GOPATH,GOROOT

{
    "env": {
        "GOPATH": "F:/mygo",
        "GOROOT": "E:/Go"
    }
}

安装完成,就可以创建项目

一定要正确的添加系统变量

PATH : go的执行程序的目录(如D:/go/bin) GOROOT:go的安装根目录(如D:/go) GOPATH: go的项目根目录(如:D:/wwwroot/go-test)

适合个人开发者

我们知道源代码都是存放在GOPATH的src目录下,那我们可以按照下图来组织我们的代码。

目前流行的项目结构

Go语言中也是通过包来组织代码文件,我们可以引用别人的包也可以发布自己的包,但是为了防止不同包的项目名冲突,我们通常使用顶级域名来作为包名的前缀,这样就不担心项目名冲突的问题了14 因为不是每个开发者都拥有自己的顶级域名,所以目前流行的方式是使用个人的github用户名来区分不同的包。 15 听好了: 1

小张和李四都有一个名叫studygo的项目,那么这两个包的路径就会是:


import "github.com/zhangsan/studygo"


import "github.com/lisi/studygo"

以后我们从github上下载别人包的时候,如:


go get github.com/jmoiron/sqlx

那么,这个包会下载到我们本地GOPATH目录下的src/github.com/jmoiron/sqlx

适合企业开发者

VSCcode配置

GOPATH是一个环境变量,用来表明你写的go项目的存放路径(工作目录)。该配置指定了Rich go language所需包的存储路径, 使用快捷键:ctrl + ,打开settings窗口,搜索gopath,点击“Edit in settings.json”,打开配置窗口,在该json配置文件中增加go.gopath字段,值设置成你希望的目录就好,我这里设置成“D:\GoProjects”。 30 31

体验

安装及配置完成后,试着体验下该插件是否能正常使用,此时输入fmt. 时会发现并没有出现期望的智能提示,反倒是出现了如下图右下角的提示框: 32

解决无效问题

这是为什么了?这是因为Rich Go language的使用需要用到一些的go语言包,在功能介绍的截图里面其实有提到,其中包括gocode、gopkgs、go-outline等。要解决该问题并不难,点击“install all”安装所需的依赖包即可。(请你注意:选择其中一个点击“install all”就好,因为install all 安装的包已经包含了另一个提示里面的需要的包,多次点击只会重复安装,很浪费时间的

安装依赖包的过程中,我们可以查看到具体安装了哪些依赖包,安装成功后这些包都存放在之前设置的GOPATH的bin目录下,不信你现在可以亲自去看看~。

如果此时你说提示被你关掉了怎么办?这里提供了两种办法解决方案
  • (1)重启VS Code,再次输入fmt. 此时提示便会再次出现,然后按照如上操作便可。

  • (2)使用命令手动加上,进入GOPATH文件夹,打开命令行,执行安装命令,如gocode:

// 指定当前目录为GOPATH,不指定的话会把包存在默认目录下(C:\Users\用户名\go\bin ) set GOPATH=%cd%

// 下载gocode包 go get github.com/mdempsky/gocode

如果需要继续安装其他包,继续执行go get命令就好,只不过你还要修改相应的github链接即可。 33

再次体验下

再次输入fmt. 试试,此时智能提示便会如期出现,如下图: 34

调试

对于开发而言,调试是在所难免的,为了是VS Code支持go语言的调试,只需要简单的几步便可配置完成。具体操作如下:

预处理:

为了配合调试设置,这里先做了一个小小的调整,我新建了MyFirstGo文件夹,并把main.go文件移到该文件夹下(如果是根据我步骤进行实验的话,需要预先处理下),因为启动调试时会生成一些必要的文件,比如launch.json、debug这些,而且vs code也要求打开文件夹才能进行launch配置。

(1)按照以往的习惯,我都会直接按起f5进行启动并调试,我照旧进行操作,发现按下f5启动时会弹出提示框,原因不用多说,就是缺少调试所需的包,点击“install”即可安装。

(2)如果你像之前一样不小心关掉了提示框,不要慌。照旧,进入之前配置的GOPATH目录,打开命令窗口进行安装,命令如下:


set GOPATH=%cd% 

go get github.com/derekparker/delve/cmd/dlv

安装完成后,会编译生成dlv.exe文件,该文件依旧存在GOPATH的bin目录下。

安装完成调试所需的包之后,此时你就可以愉快按F5便可以启动和调试go语言了!

🤓 4 Go入门教程推荐

点我试下