搭建go环境
- golang也称为go语言这两年国内发展迅猛,各个公司很多系统的技术栈都开始转为go来开发。本人也是近期开始接触学习go。对于一门语言刚接触除了学习基本的语法之外,首先要了解的还有这门语言的开发环境。
下载安装go
- go的下载可以通过,官网的中文镜像网站进行下载安装,https://studygolang.com/dl 。也可以使用操作系统自带的软件管理系统进行,我用mac系统的brew直接进行下载安装的
- 之后验证一下go是否可用
#go version <-执行go version查看版本
go version go1.18.1 darwin/amd64 <- 我本人安装的是1.18版本
- 设置环境变量,如果下载文件包的方式来进行安装go之后还要把安装目录中bin目录设置到环境变量path中,让我们可以直接调用go命令进行运行编译等操作。此外还要设置一个GOPATH指定一个目录,存放开发及后续IDE运行过程中依赖的GO的库。vim-go就需要依赖第三方库会下载到这个目录下。
修改go的环境变量
- 使用go env命令可以查看go的环境变量。
- 这里我们要修改一下go的代理配置,因为go依赖的第三方库由于众所周知的原因,无法直接下载。这样我们就需要修改代理配置来访问代理下载依赖。把GOPROXY改成goproxy.cn
- MacOs或者Linux
$ export GO111MODULE=on
$ export GOPROXY=https://goproxy.cn
C:\> $env:GO111MODULE = "on"
C:\> $env:GOPROXY = "https://goproxy.cn"
选择一个IDE
- 由于之前一直做java开发对javaIDE比较了解。近期调研和尝试了一下go的IDE产品,虽然对比java的IDE,GO语言的IDE成熟度和数量还有一定差距,但是不妨碍当前已经有一些表现优秀的IDE已经可以很好的满足我们日常开发学习的需求,并且以当前语言的发展速度来看,未来GO语言的周边工具一定会越来越完善。
- 对于类似IDE这种工具的选择, 我个人来说比较倾向于免费的产品,个人觉得软件开发如果免费了都不支持一下,那以后就更没人做免费的产品了。 所以我没有尝试JetBrain为Go语言出品的GoLand。当然已JetBrain在程序员中的口碑,我是相信GoLand会和其他产品一样优秀的,唯一缺点是花钱。如果有兴趣的同学可以尝试一下。那我这边试用了 VsCode+go插件、liteIDE、和vim-go 三个免费的产品。
vim-go
- 因为我本人之前对vim比较感兴趣,用过一段时间,这段期间学习go的过程中重点使用的就是vim-go这个开发环境。vim-go其实是vim的一个插件,所以安装方式与其他的vim插件安装类似,这里可以采用vim的插件管理插件(有点拗口),我个人用的是Plug来进行管理
- vim-go插件官网:https://github.com/fatih/vim-go
- vim-go插件的文档:https://github.com/fatih/vim-go-tutorial 这个文档虽然现在停止了维护(文档停止维护,vim-go还在更新),但是已经可以把vim-go的用法介绍的比较清楚,一般使用也完全够用了。
- 个人作为主力IDE使用感觉非常好用,依托于VIM本身开发的方式的优势,VIM-go会让开发变得非常流畅。结合我个人习惯的快捷键,让执行,编译查看文档都非常的方便。当快捷键形成了肌肉记忆之后就变得非常的高效。
- vim-go安装之后需要下载第三方的依赖,这个时候需要提前按照上一章节把GORPOXY改成国内的镜像否则无法安装成功。这里分享一下我的vim配置vimrc
- vim-go提供了很多实用功能
- GoRun 执行当前的文件
- GoBuild 对当前文件进行编译,检查语法
- GoDoc 查看方法的文档
- GoDocBrowser 通过API网站查看函数文档
- GoImports 自动import依赖
- GoTest 执行测试用例
- GoRename 命名重构
- 结合vim本身的能力,可以快速复制函数 yif(y-复制 if函数内部) yaf(y-复制 af整个函数体)
- 最后分享一下我本人的使用vim-go的截图

liteIDE
- 这个是一款咱们国人自己开发的IDE,相当的有情怀了。 让我敬佩,整体安装非常的方便简单,下载解压就可以了。 功能上也比较全面,配置挺丰富也可以利用vim插件来模拟vim的操作。
- 官网:http://liteide.org/cn/
- 作者blog:https://blog.youkuaiyun.com/visualfc
- 运行截图

vscode
- 大名鼎鼎的vscode,基本上可以支持任何语言的开发,其周边插件也十分的完善。go语言如今这么火爆vscode相关的插件自然很多。我这里主要试用了go这个插件。我只是简单试用了一下vscode来开发go。感觉基本的功能都够用了,部分功能应该还是结合go本身的命令行,我相信以目前vscode的市场占有率未来也许会成为开发go的第一选择。

总结
- 就我个人来说开发环境我倾向于vim-go其次是liteIDE。因为个人正在学习成为一个vimer,而liteIDE是国人自主研发,对于国内开发者来说非常非常的难得,是我等楷模。而vscode只是我个人选择倾向于前两个ide而已,并非其本身不够优秀,反倒我未来非常看好vscode的发展。而对于未来相信会涌现出越来越多的优秀开发工具来丰富go语言的生态,我们拭目以待。