【Go语言基础】Go语言开发环境搭建

Go语言开发环境搭建

官网 https://go.dev/https://golang.google.cn/

注:对于所有语言,我们不追求最新版本。新版会引进新特性、新功能,这些都可能导致Bug,而且项

目中使用的第三方库未必兼容。因此,使用最新版本有很大风险。如果尝鲜可以试装

安装

安装文档 https://golang.google.cn/doc/install https://go.dev/doc/install

https://go.dev/dl/https://golang.google.cn/dl/ 下载对应操作系统平台指定的版本即可。

Windows安装

官网下载 go1.25.4.windows-amd64.msi ,按照安装向导安装。

bash 复制代码
C:\Users\xub>go version
go version go1.25.4 windows/amd64

添加环境变量

bash 复制代码
$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct

如果是当前用户使用,就是用户环境变量;如果是系统所有用户使用,就是系统变量,需要管理员权限

观察环境变量PATH、GOPATH,新建GOPROXY。

可以运行命令go env看看Go的环境变量。

Linux安装

下载

bash 复制代码
wget https://golang.google.cn/dl/go1.25.4.linux-amd64.tar.gz

解压

bash 复制代码
tar xf go1.25.4.linux-amd64.tar.gz -C /usr/local

添加到环境变量PATH,修改$HOME/.profile/etc/profile

bash 复制代码
export PATH=$PATH:/usr/local/go/bin
export GOPROXY=https://mirrors.aliyun.com/goproxy/,direct

环境变量

环境变量 作用说明 推荐值(Windows/Linux/macOS通用) 备注
GOROOT Go 语言的安装目录(go可执行文件、标准库所在位置) 一般不需要手动设置,go命令会自动检测 例如:C:\Go/usr/local/go 只有多版本共存或非标准安装路径时才需要手动设
GOPATH 旧版(<1.11)依赖管理模式下使用的路径 现在已不推荐把自己的代码放在这里,但部分老工具仍会读取 可以保留,但不要把项目代码放进去 默认:~/go(Windows: %USERPROFILE%\go Go Modules 模式下可以完全忽略
GOMODCACHE Go Modules 下载的第三方依赖包缓存目录(类似npm的node_modules全局缓存) 默认在 $GOPATH/pkg/mod 可自定义,例如:~/go-mod-cache 建议自定义到单独磁盘分区,避免C盘爆掉
GO111MODULE 是否启用 Go Modules 功能 on(1.16+ 以后默认就是on,可省略不设置) 现在基本所有新项目都应开启
GOPROXY 模块下载代理镜像(强烈推荐设置,否则国内下载极慢或失败) 推荐以下任意一个(速度快、稳定): https://goproxy.cn,direct(七牛) https://mirrors.aliyun.com/goproxy/,direct(阿里) https://goproxy.io,direct(官方推荐国内镜像) 必须设置!多个用逗号分隔,最后可加,direct兜底
GONOPROXY 不走代理直接下载的域名(通常用于公司内部私有模块) 例如:gitlab.company.com,*.corp.example.com 或留空 一般不用设
GOSUMDB 校验数据库,默认是 sum.golang.org,国内可能被墙 sum.golang.org(默认) 或关闭校验:off(不推荐) 配合GOPROXY用,一般保持默认即可
GOPRIVATE 完全跳过代理和校验的私有仓库(常用git、gitlab、gitee企业仓库) 例如:gitlab.com/yourcompany,git.mycompany.com* 推荐配合GONOPROXY/GONOSUMDB一起用
PATH 必须把 $GOROOT/bin$GOPATH/bin(如果有)加入PATH Windows:%GOROOT%\bin Linux/macOS:$GOROOT/bin:$GOPATH/bin 这样才能全局使用 go 命令和安装的工具(如goimports、dlv等)

Linux 系统环境变量

bash 复制代码
# Linux / macOS (~/.bashrc 或 ~/.zshrc)
export GOROOT="/usr/local/go"                  # 如果系统自动识别可不写
export PATH="$GOROOT/bin:$PATH"

export GOPROXY="https://goproxy.cn,direct"     # 七牛,速度最快
# 或者用阿里:export GOPROXY="https://mirrors.aliyun.com/goproxy/,direct"

export GOSUMDB="off"                           # 可选:国内偶尔会卡,关闭校验(不推荐生产环境)
# export GOPRIVATE="git.example.com,*.corp.example.com"  # 私有仓库才设

export GOMODCACHE="$HOME/go-mod-cache"         # 建议自定义,防止C盘爆
# export GO111MODULE=on                        # 1.16+ 已默认,可省略

Windows 系统环境变量

bash 复制代码
# Windows(系统环境变量 或 PowerShell profile)
$env:GOPROXY = "https://goproxy.cn,direct"
$env:GOMODCACHE = "D:\go-mod-cache"   # 建议改到D/E盘等大磁盘
# PATH 里一定要包含 Go 的 bin 目录

开发工具

Goland

收费工具

下载地址 https://www.jetbrains.com/go/download/?section=windows

VSCode

微软推出的跨平台、轻量级、插件化、多语言开发IDE。课堂教学使用VsCode

下载地址 https://code.visualstudio.com/Download

Windows、MAC、Debian、RedHat

Windows User版是当前用户一人使用;System版当前机器所有用户使用

VSCode插件安装

切记,安装插件之前,一定要配置GO国内源的GOPROXY,否则可能报很多错误。

下面是在 2025 年使用 VS Code 开发 Go 语言时,强烈推荐安装的核心 + 实用插件清单(已按重要性排序),直接搜名字安装即可,全都是免费的。

优先级 插件名称(ID) 功能说明 必须安装? 备注
1 Go golang.go 官方出品的 Go 扩展(以前叫 Go 插件) 整合了 gopls、dlv 调试、代码片段、测试集成等所有功能 必装 安装这一个就够了,其他插件基本都依赖它
2 gopls Go 官方语言服务器(LSP) 提供:自动补全、跳转定义、悬停提示、重构、诊断、代码镜头(运行测试/基准)、格式化等 现在由官方 Go 插件自动安装和管理 以前需要单独装,现在不用了
3 Delve Debugger Go 官方调试器 Delve 的图形化支持 支持断点、变量查看、调用栈、goroutine 查看等 必装 官方 Go 插件已经内置了,但建议再装这个增强版,体验更好
4 Go Test Explorer premier.go-test-explorer 在侧边栏显示所有测试函数树,支持一键运行/调试单个测试、覆盖率高亮 强烈推荐 效率神器,比手动敲 go test 爽 100 倍
5 CodeLLM / Continue Continue.continue 免费本地/在线 AI 辅助编程(支持通义灵码、DeepSeek、GPT-4o、Claude 3.5 等) 直接在 VS Code 里问代码、生成单元测试、重构 强烈推荐 2025 年写 Go 最爽的插件
6 Error Lens usernamehw.errorlens 把 gopls 报错直接内联显示在代码行后面(红字),一眼看到问题 强烈推荐 提升幸福感
7 Todo Tree 快速查看项目里所有 // TODO:、// FIXME: 注释 推荐
8 Better Comments 美化 // TODO、// !、// ? 等注释颜色 推荐
9 Go Outliner 766.go-outliner 改进的符号大纲(Outline),能显示 struct 的字段、interface 方法顺序更清晰 推荐 比内置 Outline 好用很多
10 Rewrap stkb.rewrap 自动硬换行注释(敲 // 后 Alt+Shift+F 能对齐到 120 列) 推荐 写长注释神器
11 GitLens 超级强大的 Git 增强(看每一行谁写的、历史等) 强烈推荐 虽然不是 Go 专用,但所有语言都推荐
12 Code Runner 快速运行 main.go(点右上角小三角) 方便 小项目时很好用

最简最强组合

  • Go(golang.go) → 官方必装

  • Go Test Explorer → 测试神器

  • Continue(或 CodeLLM) → AI 辅助编程

  • Error Lens → 错误一眼看出

  • GitLens → Git 超级增强

初识GO程序

在VSCode中打开一个目录,其中创建一个main.go

main函数是整个程序的运行入口,必须是main包。

go 复制代码
package main

import "fmt"

func main() {

	fmt.Println("Hello")
}

命令行中运行

bash 复制代码
go run main.go
Hello

也可以利用安装的Go插件调试,按F5运行,可能有如下提示

go 复制代码
go: go.mod file not found in current directory or any parent directory

只需要命令行中初始化模块即可。

go 复制代码
PS D:\223\hello-word> go mod init rzzz.net/test   
go: creating new go.mod: module rzzz.net/test

在按F5就可以调试运行了。

bash 复制代码
DAP server listening at: 127.0.0.1:2248
Type 'dlv help' for list of commands.
Hello
Process 23952 has exited with status 0
Detaching

Go 常用命令

命令 主要功能 常用参数 / 示例
go version 查看 Go 当前版本 go version → go1.23.4 windows/amd64
go env 查看所有 Go 环境变量 go env GOROOT / go env GOPATH / go env GOMODCACHE
go env -w KEY=VALUE 永久修改环境变量(1.13+) go env -w GOROOT="C:\Program Files\Go"
go mod init <模块名> 初始化当前目录为模块,生成 go.mod 文件 go mod init rzzz.net/test
go mod tidy 清理无用依赖 + 添加缺失依赖(最常用) go mod tidy
go get <包> 下载依赖(会自动更新 go.mod 和 go.sum) go get github.com/gin-gonic/gin go get -u 强制更新 go get 包@版本 指定版本
go install <包>@latest 下载并编译工具,放到 $GOBIN$GOPATH/bin go install golang.org/x/tools/gopls@latest
go build 编译包和依赖 go build → 生成当前模块的可执行文件(名字来自 go.mod module 名) go build -o myapp.exe 指定输出名 go build ./... 编译所有子包
go run 编译 + 立即运行(开发时最常用) go run main.go go run .(当前模块) go run magedu.com/test
go fmt / gofmt 格式化代码(VS Code + gopls 已自动调用) go fmt ./...
go vet 检查代码中常见错误 go vet ./...
go test 运行测试 go test ./... go test -v 显示详细信息 go test -cover 查看覆盖率
go clean -modcache 清理模块缓存(解决依赖诡异问题时使用) go clean -modcache

使用 go help <command> 查看帮助

语言参考 https://golang.google.cn/doc/https://go.dev/doc/

项目结构

Go官方并没有项目结构布局方案,因此经过实践,大家提出了各种可行方案。现阶段,我们学习的项目

规模较小,可采用下面的方案

-cover查看覆盖率 | |go clean -modcache | 清理模块缓存(解决依赖诡异问题时使用) |go clean -modcache` |

使用 go help <command> 查看帮助

语言参考 https://golang.google.cn/doc/https://go.dev/doc/

项目结构

Go官方并没有项目结构布局方案,因此经过实践,大家提出了各种可行方案。现阶段,我们学习的项目

规模较小,可采用下面的方案

原始文章:https://www.rzzz.net/go/basic/1/2-development-environment.html

相关推荐
平凡的Joe2 小时前
Quarkus WebSocket 入门实践
java·后端
GreatSQL2 小时前
5.7到8.0版本升级导致备份导入失败:提示 "超过行长度"
后端
x***J3482 小时前
后端服务限流算法,计数器与滑动窗口
java·开发语言
Java水解2 小时前
【SpringBoot】37 核心功能 - 高级特性- Spring Boot 中的 自定义 Starter 完整教程
后端
踏浪无痕2 小时前
Maven父子模块Deploy的那些坑
后端·maven
bcbnb2 小时前
iOS 应用上架全流程实战解析,从证书到审核的完整开发者指南
后端
二川bro2 小时前
第51节:Three.js源码解析 - 核心架构设计
开发语言·javascript·ecmascript
喵了几个咪2 小时前
Golang微服务框架Kratos应用分布式任务队列Machinery
分布式·微服务·golang