安装Go SDK
从国际官网↓或者国内官网↓下载Go SDK, 并按照下载页面中的说明安装Go SDK。安装后需要按照说明设置PATH
环境变量后,go才能被识别。
Go SDK的版本和其所支持的最高Go语言版本是一致的。 比如,Go SDK 1.14.x支持从1.0到1.14的所有Go语言版本。
为了从任意目录运行Go SDK中工具命令(主要各种go
子命令), Go SDK安装目录下的bin
子目录路径必须配置在PATH
环境变量中。
Go SDK 1.8 前需要配置GOROOT
和GOPATH
环境变量。 当前最新的Go SDK版本对这些没有做强制要求。 GOPATH
环境变量的默认值为当前用户的HOME目录下的名为go
文件夹对应的目录。 GOPATH
环境变量中可以指定多个目录。
GOBIN
环境变量用来指定某些go
子命令(比如go install
,见下)产生的二进制可执行文件应该存储在何处。 如果此环境变量未指定,go
命令将使用GOPATH
环境变量中指定的第一个路径下的bin
子目录路径来存储这些可执行文件。 此目录的路径需配置在PATH
环境变量中,以便从任意目录运行这些可执行文件。
在Go SDK 1.11版本之前,go
命令推荐所有的Go代码都放在GOPATH
环境变量中指定的任一个路径下的src
子目录中,尤其是依赖于其它第三方代码库包的Go项目代码。 代码库包将在后面的代码包和包引入一文中详述。
Go SDK 1.11引入了一个试验性的特性:Go模块(Go modules)。 此特性让我们得以自由地将我们的Go项目代码放置在任何目录下。 我们可以从此官方维基页面得到更多关于Go模块的信息。
注意,从Go SDK 1.13开始,Go模块模式已成为Go项目开发中的推荐模式。 旧的GOPATH
模式将不再推荐。GOPATH
环境变量的意义和必要性将大大减弱,甚至逐渐消失。 另一方面,GOBIN
环境变量的重要性将提升,因为我们仍需要一个目录路径用来存储某些go
子命令产生的二进制可执行文件。
在vscode中的配置settings.json
{
// "go.goroot": "/usr/local/go",
// "go.gopath": "/Users/yangyanan/go",
// "go.inferGopath": true,
// Test 中的t.Log()是否打印输出
"go.testFlags": ["-v"],
// 是否保存时自动执行测试
// "go.coverOnSave": true,
// 是否开启package自动导入功能
"go.autocompleteUnimportedPackages": true,
"go.gocodePackageLookupMode": "go",
"go.gotoSymbol.includeImports": true,
"go.useCodeSnippetsOnFunctionSuggest": true,
"go.useCodeSnippetsOnFunctionSuggestWithoutType": true,
// "go.docsTool": "gogetdoc",
}