安装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 前需要配置GOROOTGOPATH环境变量。 当前最新的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

  1. {
  2. // "go.goroot": "/usr/local/go",
  3. // "go.gopath": "/Users/yangyanan/go",
  4. // "go.inferGopath": true,
  5. // Test 中的t.Log()是否打印输出
  6. "go.testFlags": ["-v"],
  7. // 是否保存时自动执行测试
  8. // "go.coverOnSave": true,
  9. // 是否开启package自动导入功能
  10. "go.autocompleteUnimportedPackages": true,
  11. "go.gocodePackageLookupMode": "go",
  12. "go.gotoSymbol.includeImports": true,
  13. "go.useCodeSnippetsOnFunctionSuggest": true,
  14. "go.useCodeSnippetsOnFunctionSuggestWithoutType": true,
  15. // "go.docsTool": "gogetdoc",
  16. }

refer

go blog go blog 中文版