如何搭建go语言开发环境
admin
2023-02-16 04:40:06
0

这篇文章主要为大家分享搭建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 main

import (
    "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 like go:

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

All Go versions available via this method are listed on the download page. You can find where each of these extra Go versions is installed by looking at its GOROOT; for example, go1.10.7 env GOROOT. To uninstall a downloaded version, just remove its GOROOT directory and the goX.Y.Z binary.

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

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

相关内容

热门资讯

玩家攻略科普“随便跑胡子开挂器... 网上科普关于“随便跑胡子有没有挂”话题很是火热,小编也是针对随便跑胡子作*弊开挂的方法以及开挂对应的...
今日重磅消息“山西扣点怎么开挂... 有 亲,根据资深记者爆料山西扣点是可以开挂的,确实有挂(咨询软件无需打开...
今日重大消息“大富豪app是不... 今日重大消息“大富豪app是不是有挂?”(果然有透视挂)您好,大富豪app这个游戏其实有挂的,确实是...
【第一财经】“新永和炸/金/花... 【第一财经】“新永和炸/金/花是不是有挂?”(透视曝光猫腻)您好,新永和炸/金/花这个游戏其实有挂的...
今日重磅消息“友友邳州麻将有挂... 网上科普关于“友友邳州麻将有没有挂”话题很是火热,小编也是针对友友邳州麻将作*弊开挂的方法以及开挂对...
【今日要闻】“人海牛牛辅助器?... 家人们!今天小编来为大家解答人海牛牛透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买很...
玩家最新攻略“麻友圈2挪来挪去... 您好:麻友圈2挪来挪去这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在...
这份硬核新年祝福,请查收! 叮!福建舰和中国空间站“拍了拍你”这份跨越海天的硬核新年祝福请查收!福建舰全体官兵列阵送上硬核祝福
玩家分享攻略“九酷牛牛开挂器?... 网上科普关于“九酷牛牛有没有挂”话题很是火热,小编也是针对九酷牛牛作*弊开挂的方法以及开挂对应的知识...
玩家攻略科普“夏天yy有没有挂... 网上科普关于“夏天yy有没有挂”话题很是火热,小编也是针对夏天yy作*弊开挂的方法以及开挂对应的知识...