Go语言环境配置(VSCode)及踩坑 | 青训营

1,319 阅读2分钟

配置语言环境是开始学习一种语言的前置条件,本文主要介绍了在字节跳动后端青训营中,笔者配置Go语言环境的过程及遇到的问题,配置过程有参考其他文章。

下载及安装Go

《走进Go语言基础语法》的课程资料中提供了两个下载Go语言安装包的网址: 网址1 以及 网址2出于网络节点的原因,我们会发现网址1几乎打不开,因此建议选择网址2进行下载。

下拉页面,在网站中选择合适的安装包,笔者的电脑是64位Windows系统,选择的安装包如图中标记所示。
1692293190748.png
关于 zip 和 msi 的区别: MSI是microsoft installer的缩写,它包含了安装和卸载所需的程序,只需要按照提示进行下载及安装操作;zip则是压缩文件,解压后仍需要自行配置。对于新手更推荐 msi

配置环境变量(适用于Windows系统)

本节内容参考VScode下配置Go语言开发环境【2023最新】-迈克柯里喵

修改环境变量的过程如下:

  1. 打开高级系统配置,点击环境变量。
    image.png
  2. 按照参考文章中第二节(配置环境变量)所示过程对系统变量及用户变量进行修改,增加GOPATHGOROOT
  3. 修改系统变量及用户变量中的path项,将GOPATH路径加入到path中。
  4. 打开命令提示符,输入go env检查GOPATHGOROOT是否正确。

配置vscode环境

下载GO插件

Ctrl+Shift+X打开扩展,搜索Go,并点击Install进行下载

更新Go工具

Ctrl+Shift+P搜索Go: Install/Update Tools,全选所有工具进行下载 (但仍然是由于网络节点原因所以无法顺利下载)

因此我们需要启用另一种方法

  1. 打开PowerShell,输入这两项命令$ go env -w GO111MODULE=on$ go env -w GOPROXY=https://goproxy.cn,direct
  2. 重启VSCode
  3. 重复上述更新Go工具的操作,即可更新Go工具,Go工具会被下载至$GOPATH/bin

关于Module冲突

从GitHub上clone青训营课程资料代码进行调试时,发现出现了以下报错:

gopls was not able to find modules in your workspace.\nWhen outside of GOPATH, gopls needs to know which modules you are working on.\nYou can fix this by opening your workspace to a folder inside a Go module, or\nby using a go.work file to specify multiple modules.\nSee the documentation for more information on setting up your workspace:\nhttps://github.com/golang/tools/blob/master/gopls/doc/workspace.md.

1692296254618.png

经查阅参考文档后得知,主要是由于单模块和多模块的冲突,其中一个解决方法可以参考关于vscode中出现gopls was not able to find modules in your workspace报错的解决方案-Donstpast,但在网络上进行信息检索后,笔者选择了一个更简便的方法:

  1. $GOPATH\src中建立go.mod文件
  2. $GOPATH\src下新建文件夹,在新建文件夹中新建go并编辑代码
  3. 使用VSCode打开文件夹时,不要直接打开$GOPATH,而是应当打开$GOPATH\src\刚才新建的文件夹
  4. 找到.go文件并运行

以青训营代码为例,可见已经运行成功 1692297233892.png 1692297260895.png