前言:
在《高效能人士的七个习惯》一书中有这么一句话“学而不做等于没学,知而不做等于无知”,所以学习一门新语言光看是不行的,必须身体力行才可以,如果不实践的话最终也只是无知的状态。对于学习语言来说,“做”对应的是编码、调试、运行等,在进行这些工作之前,我们必须安装好编码和调试用的编辑器,运行所需的环境等,这篇文章便是和大家介绍关于go语言开发的环境搭建。
一、安装go语言开发包
1.1 go语言开发包是什么?
我用google和百度初略的搜索了一下,发现没有人提及这个话题,但我还是想在这里和大家分享下个人的一些理解:go语言开发包其实是对go语言的一种实现,包括相应版本的语法、编译、运行、垃圾回收等,里面包含着开发go所需的标准库、运行时以及其他的一些必要资源。
1.2 如何安装?
(1)打开go开发包下载页:https://golang.org/dl/
如果打不开可以使用该网站:https://golang.google.cn/dl/
(2)选择对应开发平台的包进行下载,具体支持的平台如下图:
注意:如果你使用的是windows 64位的电脑进行开发,那么你需要选择上图中第一个红框中的开发包进行下载,如果你使用的是32 位的电脑的话,那么你需要选择上图中第二个红框中的开发包进行下载。
(3)双击msi安装包,按照步骤一路next便可安装完成。
对于开发者而言,编辑器永远都不是唯一的,适用于go语言开发的编辑器有很多,包含GoLand、IDEA、VS Code等,甚至使用submit、notepad++、vim等也能进行go语言的开发,具体选择哪一款编辑器,只能见仁见智, 适合自己的才是最好的。
对于我而言,我还是觉得轻量、开放、开源的VS Code更适合我,曾经使用它开发过一段时间的node.js,使用起来很顺手,并且可以安装各类插件,在一定程度上可以提高开发效率。所以下面和大家介绍下VS Code的安装(基于Windows 64位),如需安装其他编辑器,请参照其他博文或者官方文档。
2.1 下载VS Code:地址:https://code.visualstudio.com/
2.2 安装VS Code:双击下载下来的exe,按照提示一步步往下就可以了。
需要注意的是:如果你想选择目录或文件后右键可以选择VS Code打开的话,需要在进行到“选择其他任务”时,把下图红框中的两个可选项勾上。
至此,VS Code已经安装完成,接下来便可以利用VS Code编写第一个go程序了,使用快捷键:Ctrl + N 新建一个文件,输入以下代码,然后保存到桌面Desktop,命名为main.go:
package main // 定义包名
import (
"fmt" // 告诉 Go 编译器这个程序需要使用 fmt 包,fmt 包实现了格式化 IO(输入/输出)的函数。
)
func main () {
// 将字符串输出到控制台
fmt.Println("hello world")
}
cd Desktop
go run main.go
Ctrl + 、唤起VS Code的终端窗口,以此输入以上的命令,可以看到执行结果如下图:
2.5 不足
到这里,看起来一切都正常了,没什么毛病了,实际上也确实没有什么毛病。但是有些不足,最真切的体验就是输入fmt.的时候没有智能提示fmt包的方法,这就意味着开发者必须记住包里面包含的方法及其拼写,这对于习惯了智能提示的开发者而言无疑是难以接受的。如果你也和我有同样的感受,并且期待解决该问题,那么请继续往下看。
Rich Go language支持的功能如下图,大致分为:代码智能提示、代码导航、快速代码块、测试、调试等,可以说是使用VS Code开发go的必备插件。
选择左侧扩展菜单栏(或快捷键:Ctrl + Shift + X),在搜索框中输入“go”,搜索出来的第一个插件便是我们想要的go语言扩展,点击“Install”即可安装,如下图:
3.3 配置GOPATH
安装完成后,根据需要配置GOPATH,该配置指定了Rich go language所需包的存储路径, 使用快捷键:ctrl + ,打开settings窗口,搜索gopath,点击“Edit in settings.json”,打开配置窗口,在该json配置文件中增加go.gopath字段,值设置成你希望的目录就好,我这里设置成“D:\GoProjects”。
安装及配置完成后,试着体验下该插件是否能正常使用,此时输入fmt. 时会发现并没有出现期望的智能提示,反倒是出现了如下图右下角的提示框:
3.5 解决无效问题
这是为什么了?这是因为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链接即可。
再次输入fmt. 试试,此时智能提示便会如期出现,如下图:
3.7 调试
对于开发而言,调试是在所难免的,为了是VS Code支持go语言的调试,只需要简单的几步便可配置完成。具体操作如下:
预处理:
为了配合调试设置,这里先做了一个小小的调整,我新建了MyFirstGo文件夹,并把main.go文件移到该文件夹下(如果是根据我步骤进行实验的话,需要预先处理下),因为启动调试时会生成一些必要的文件,比如launch.json、debug等,而且vs code也要求打开文件夹才能进行launch配置。
(1)按照以往的习惯,我都会直接按f5进行启动并调试,我照旧进行操作,发现按下f5启动时会弹出以下图提示框,原因不用多说,就是缺少调试所需的包,点击“install”即可安装。
如果你像之前一样不小心关掉了提示框,不要慌。照旧,进入之前配置的GOPATH目录,打开命令窗口进行安装,命令如下:
set GOPATH=%cd%
go get github.com/derekparker/delve/cmd/dlv
安装完成后,会编译生成dlv.exe文件,该文件依旧存在GOPATH的bin目录下。
(2)安装完成调试所需的包之后,此时按F5便可以启动和调试go语言了
至此,go语言的开发环境搭建已经介绍完毕,接下来将开始正式学习go的语法,后续会继续和大家分享。