go第一个工程安装过程与问题汇总

安装步骤

  1. 首先安装go编译器,官网地址https://golang.google.cn/dl/,根据自己的系统和硬件平台下载对应的安装版本,以windows为例,应当下载go1.xx.x.windows-amd64.msi,下载后双击安装即可,安装成功后,打开Power Shell输入go version,能够查询到go的版本号则说明没安装成功。
  2. 首先安装vscode,这个网上有很多教程,这里不在赘述
  3. 由于vscode是一个编辑器,默认不包含编译工具链,故这里需要手动安装插件必须安装的插件如下所示:

Go(官方插件) → golang.go

GitLens → eamodio.gitlens

Error Lens → usernamehw.errorlens

REST Client → humao.rest-client

Docker → ms-azuretools.vscode-docker

3.完成上述步骤后,还需要安装go的工具链,安装方法如下所示:

Ctrl + Shift + P → Go: Install/Update Tools → 全选安装

为什么需要安装工具链呢?请参考第二章节的内容。

4.至于创建go工程,我不太擅长,因为vscode的创建工程需要写配置文件(json格式),内部包含很多关键字,我是用claude code帮我生成的。

问题汇总

1.上一章节步骤3中的,默认的安装的地址是github,如果提示无法连接或者连接超时,Go 工具链需要访问 golang.org,被墙了,设置代理即可解决,思路是设置GOPROXY国内镜像如下所示:

设置国内镜像代理

go env -w GOPROXY=https://goproxy.cn,direct

关闭私有包校验(避免 sum 检查失败)

go env -w GONOSUMDB=*

验证设置成功

go env GOPROXY

输出:https://goproxy.cn,direct ✅

上面的命令在vscode的终端中执行即可,打开终端的方式为ctrl+`,输入后再次执行步骤3,正常情况可以执行成功;如果还是提示同样的错误,那么重启下vscode试试。

2.vscode默认情况下是没有运行按钮的(python除外,python的插件内置了运行按钮),go插件并没有内置运行按钮,如果想要在编辑页面的右上角出现三角形的运行按钮(▶),需要安装Code Runner

3.vscode的go插件、Go: Install/Update Tools安装的工具链的关系如下所示:

Go 插件(golang.go):

→ VSCode 里的"控制中心"

→ 负责 UI 交互、功能入口、调用工具

Go 工具链(Install/Update Tools):

→ 实际干活的"底层程序"

→ 被插件调用,完成具体任务

4.go编译器与vscode中的执行Install/Update Tools安装的工具链的关系,go编译器包含了一些基础的命令,比如编译、运行,模块管理,格式化等。执行Install/Update Tools安装的工具链是专门为编辑器体验开发的第三方工具,包含gopls / dlv / staticcheck等工具,需要额外执行 Install/Update Tools 安装。go编译器包含的命令如下所示:

go version # 查看版本

go run # 直接运行源码

go build # 编译生成可执行文件

go test # 运行测试

go mod # 模块管理

go get # 下载依赖

go fmt # 格式化代码

go vet # 基础代码检查

go doc # 查看文档

go env # 查看环境变量

go install # 编译并安装程序

对这二者进行对比关系:

维度 Go 编译器自带工具 VSCode 工具链
代表命令 go build go run go test gopls dlv staticcheck
何时可用 装完编译器立即可用 需额外执行 Install/Update Tools
安装位置 /usr/local/go/bin/ $GOPATH/bin/
主要用途 编译运行程序 提升编辑器体验
没有它 代码无法运行 代码照样运行,编辑体验差
谁开发的 Go 官方团队 各开源社区(部分官方)
相关推荐
W.A委员会41 分钟前
JS原型链详解
开发语言·javascript·原型模式
止语Lab1 小时前
Go并发编程实战:Channel 还是 Mutex?一个场景驱动的选择框架
开发语言·后端·golang
小码哥_常1 小时前
Spring Boot一键限速:守护你的接口“高速路”
后端
她说彩礼65万1 小时前
C# 实现简单的日志打印
开发语言·javascript·c#
绿浪19841 小时前
c# 中结构体 的定义字符串字段(性能优化)
开发语言·c#
阿丰资源2 小时前
基于SpringBoot的物流信息管理系统设计与实现(附资料)
java·spring boot·后端
房开民2 小时前
可变参数模板
java·开发语言·算法
t***5442 小时前
如何在现代C++中更有效地应用这些模式
java·开发语言·c++
王码码20352 小时前
Go语言的包管理:从GOPATH到Go Modules
后端·golang·go·接口
Victoria.a3 小时前
python基础语法
开发语言·python