这篇文章主要为大家分享搭建go语言开发环境的方法。文中还介绍了搭建golang开发环境技巧和golang版本的选择,希望大家通过这篇文章能有所收获。

搭建golang环境

1.到golang下载地址下载对应环境的安装包或者源码,若是Linux环境的话,将源码包下载解压之后,放至/usr/local/(实际上放至合适位置即可,只要把它添加进PATH就行),如:

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

2.配置GOPATH、GOROOT,这里可能需要解释一下,对于新手来说,肯定不熟悉这两个环境变量的意义。

GOROOT:golang的安装目录。

GOPATH:go的工作空间,在GOPATH下会有三个目录:src,bin,pkg。

src:存放源码(在不设置go mod的情况下,go get的包放至这里,你自己的项目源码也可以放在这里);

bin:编译后的可执行文件放置的位置,如果在你项目go install,生成的可执行文件会放在此处;

pkg:存放编译时产生的文件(.a文件)并根据平台进行归档,比如,windows64下产生的文件放在windows_amd64目录下,通常情况下,我们不会太关心这些文件。不过在go module包管理方式下,pkg目录变得受人关注了,依赖的第三方包被下载到了$GOPATH/pkg/mod路径下,而不是src文件夹。

3.下载一个合适的IDE,我个人比较喜欢用Goland,选择一个适合自己的IDE很重要,也有人喜欢vs code,这没有关系,只要自己使用顺手就行。

4.简单写段代码测试一下,go的安装情况如何,在$GOPATH/src下创建一个目录作为测试项目,创建一个main.go文件,代码如下:

package mainimport ( "fmt")func main() { fmt.Print("Hello world!")}

接着在项目根目录下go run main.go或者像我一样在IDE里面直接点击一下运行按钮即可。可以说搭建一个golang环境至此已经结束,就这么简单?就这么简单,但还有其他事情可以继续说下

实用的golang开发环境技巧1.利用虚拟机共享目录来应对不同环境

有这样一个场景:有个go项目,它的打包方式是make,但是我们想在Windows下编写代码,在Windows下正常情况下没有make工具,而Linux有。当然有人会提出,那就在Windows下安装相应的make工具就好了,的确如此,这样就解决问题了。我接下来所要讲的技巧权当做一种另外的解题思路。
首先,安装一个Linux虚拟机,创建好之后设置共享目录

在我的Windows系统的D盘下有一个share目录,我将它共享到了虚拟机里面,并在Linux中为它创建了一个软连接,这样方便我查看和修改文件。share目录下的go目录即为我的GOPATH,我将虚拟机中的GOPATH设置成了同一个路径,这样子就可以在两个系统中共享同一份下载的源码。好了,现在我们可以在Windows下打代码,在Linux下编译了(有个Linux环境莫名的有安全感)。

2.利用docker和docker-compose进行开发

能够写一段简单的打印“hello world”的代码就证明你的开发环境搭建完毕了吗?很多时候,初学者看到的其他golang入门文章到此就结束了,但我觉得还有些可以继续进步的地方。很多项目会用到mysql、reids等,下面我会用docker和docker-compose为我们的项目提供支持。我的操作思路是在虚拟机安装docker和docker-compose,并安装mysql等,然后将端口转发出来。
① 在虚拟机中安装docker和docker-compose;
② 将创建工作目录,在该目录下创建一个docker-compose.yaml,接着运行如下:

version: '3'services: mysql: container_name: mysql image: mysql:5.6 ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: "123456" MYSQL_ROOT_HOST: "%" volumes: - "./data:/var/lib/mysql" # 挂载数据目录 - "./config:/etc/mysql/conf.d" # 挂载配置文件目录

$ docker-compose up -d

③ 将对应端口转发出来:

④ 在Windows下用熟手的工具去操作,可以用navicat等工具,我个人比较喜欢都在IDE里执行:

如此一来,我们就可以利用docker和docker-compose创建一些我们需要的组件,并且在Windows和Linux下都连接成功。这么做有一些好处,我们可以在Windows下尽情的编码和测试,在Linux下去做编译和打包工作。不过,我并没有很详细地将这其中的操作过程写出来,这篇文章里主要提供一些思路,如有人有兴趣,我以后会写一篇跟工具有关的文章。

3.golang版本的选择

我在看官网的文档时,发现了一个有趣的东西,貌似平时没有很多人去关注。

Installing extra Go versions

It may be useful to have multiple Go versions installed on the same machine, for example, to ensure that a package's tests pass on multiple Go versions. Once you have one Go version installed, you can install another (such as 1.10.7) as follows:

$ go get golang.org/dl/go1.10.7$ go1.10.7 download

The newly downloaded version can be used likego:

$ go1.10.7 versiongo version go1.10.7 linux/amd64

All Go versions available via this method are listed onthe download page. You can find where each of these extra Go versions is installed by looking at itsGOROOT; for example,go1.10.7 env GOROOT. To uninstall a downloaded version, just remove itsGOROOTdirectory and thegoX.Y.Zbinary.

这段文本是在说你可以通过go get的方式去安装其他的go版本,这种方式也比较简单。但应该很少人会有这样的需求了吧,因为一般来讲,go的版本安装最新的就行了,go的兼容做得很好,不会因为你的代码是几年之前写的就运行不起来。

看完这篇文章,你们学会搭建go语言开发环境的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读。