1、操作系统选择

       这里,你可以根据自己所用操作系统进行选择,不过我可以告诉你编译时间,你自己分辨到底未来用哪个吧。恰好我自己的机器一直是win7,想着升级一下吧,就升级了win10最新版本,后来又装了deepin双系统。所以有如下的统计,可能不对,大家多做分析,仅供参考。

        同样的HelloWord程序编译耗时,同样的代码路径,同样的机器,Win7(20秒)>Win10(9秒)>>>> Deepin(0.2秒)

        你知道你该用啥环境了么?自己选择吧。下面我就写一下go的基本开发环境安装

2、安装Go环境

        这里,你可以根据你的系统进行选择

一路下一步安装就是了,Linux、Windows都差不多,记住安装路径下面用

环境变量,你是配置到windows的环境,或者linux的“vi ~/.bashrc”都可以。

2.1 windows参数

GOPATH		D:\Dev_Go\GoPath;D:\Dev_Go\workspace
GO111MODULE	auto
GOPROXY		https://goproxy.cn
GOROOT		D:\Dev_Go\Go
PATH		%GOROOT%\bin;

   安装完成,验证方法go version

linux参数,vi ~/.bashrc即可,更加方便

export GOROOT="/usr/local/go"
export GOPATH="/data/go_dev/go_path:/media/ken/3T-工作/Dev_Go/workspace"
export PATH=$PATH:$GOROOT/bin
export GOPROXY=https://goproxy.cn
export GO111MODULE=auto

设置完成后,执行 source ~/.bashrc 重新加载配置

Linux下效果类似。

注意:强烈建议大家设置GOPATH设置两个,第一个为安装的系统模块的路径,第二个为你自己项目的路径,或者你在vscode里面安装“Code Runner”插件也是不错的选择

3、安装VsCode

        自己根据喜好下载,我这里官网下载慢,就用deepin自带的应用商店了,反正一样用。虽然版本老那么一点,不能升级,别的没啥问题。不过这里要注意,如果使用了应用商店的vscode,切记不能升级,升级前自己手动卸载。。。        

3.1        vscode安装 Go 插件 

3.2 安装Code Runner插件[可选]

该插件安装成功后,可以直接在vscode右上角多一个箭头标志,点击可以运行当前的go脚本。

 也挺方便,只不过没法debug。

 3.3        安装 Go 工具包

  • 使用快捷键:CTRL + SHIFT + P
  • 输入:Go: Install/Update Tools
  • 全部勾选点击确定

    下面就可以看到输出进行安装了,这里静待一下就可以了

至此开发环境就搞定了,去愉快的开发吧。又免费,又有提示,内存占用又小,研发利器啊。

对了,顺便告诉你一些快捷键

F5进入debug模式

但是需要你写一下launch.json文件,配置一下debug时执行的文件,举例如下

vscode的go插件对测试程序支持非常友好,只要写好测试代码,会自动扩展出运行的按钮和debug的按钮。参考代码如下

1、被测试的函数

package testexample

func Min(arr []int) (min int) { //获取整型数组中的最小值
	min = arr[0]
	for _, v := range arr {
		if v < min {
			min = v
		}
	}
	return
}

2、测试的脚本,注意:文件名必须是name_test.go的格式,测试函数名称必须用Test开头,传入参数必须是*testing.T,代码如下:

package testexample

import (
	"fmt"
	"testing"
)

func TestMin(t *testing.T) {
	array := []int{6, 8, 10}
	ret := Min(array)
	fmt.Println(ret)
}

func TestMin2(t *testing.T) {
	array := []int{3, 90, 2}
	ret := Min(array)
	fmt.Println(ret)
	// println(ret)
}

在vscode里面的效果如下(注意两个func函数上一行的浅白色按钮^v^),注意

  这样只要点击一下debug test就可以直接进入测试了。

最后补充一下,上面这个测试用例在linux下秒出运行结果,真的是秒出,我用time go build 编译自己的代码都是0.2秒出编译程序。