1、Go环境安装与模块初始化
1、Go 环境安装与模块初始化
安装 Go 1.21+
Go 1.21 及以上版本对 Go Modules 的支持更完善,语言服务器 gopls 也要求 Go 1.21+ 才能发挥全部功能。
先检查是否已安装:
go version
Windows 安装
下载安装包:访问 Go 下载页面(https://go-lang.org.cn/doc/install),选择 Windows 版本的 .msi 安装包(例如 go1.21.x.windows-amd64.msi)。
安装步骤:双击 .msi 文件,按向导提示操作。
验证:打开命令提示符(CMD)或 PowerShell,输入:
go version
# 预期输出:go version go1.21.5 windows/amd64
检查环境变量(安装程序通常会自动配置,但建议检查):
echo %GOROOT%
# 应显示:D:\Program Files\GoLang
echo %GOPATH%
# 应显示:D:\ProgramCode\GoLang
如果未自动配置,可手动添加:右键“此电脑”→属性→高级系统设置→环境变量,在系统变量中添加 GOROOT(值为 D:\Program Files\GoLang)和 GOPATH(值为 D:\ProgramCode\GoLang),并在 PATH 中添加 %GOROOT%\bin。
macOS 安装
方式一:Homebrew 安装(推荐)
# 如果没有 Homebrew,先安装:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装 Go
brew install go
方式二:官方安装包:访问官网(go.dev/dl),下载 .pkg 安装包,双击按提示安装即可。
验证:
go version
# 预期输出:go version go1.21.x darwin/arm64(Apple Silicon)或 darwin/amd64(Intel)
Linux 安装
以 Ubuntu/Debian 为例:
方式一:使用包管理器
sudo apt update
sudo apt install golang-go
方式二:从官方下载(推荐,能获取最新版本)
# 下载 Go 1.21+ 二进制包
wget https://go.dev/dl/go1.21.x.linux-amd64.tar.gz
# 解压到 /usr/local
sudo tar -C /usr/local -xzf go1.21.x.linux-amd64.tar.gz
# 配置环境变量(添加到 ~/.bashrc 或 ~/.profile)
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
# 使配置生效
source ~/.bashrc
验证:
go version
安装 VS Code + Go 插件
安装 VS Code
访问 code.visualstudio.com 下载对应系统的安装包,按提示完成安装。
安装 Go 扩展
- 打开 VS Code
- 点击左侧活动栏的扩展图标(快捷键:
Ctrl+Shift+X/Cmd+Shift+X) - 在搜索栏输入 Go
- 找到由 Go Team at Google 发布的官方 Go 扩展(ID:
golang.go),点击 Install 安装
安装 Go 工具集
安装扩展后,打开任意 .go 文件,VS Code 右下角会弹出 “Missing tools” 提示,点击 Install All 即可自动安装以下核心工具:
| 工具 | 作用 |
|---|---|
| gopls | Go 语言服务器,提供智能代码补全、跳转定义、重构等功能 |
| dlv | Delve 调试器,支持断点调试 |
| goimports | 自动格式化代码并整理 import 语句 |
提示:如果国内网络下载工具失败,需要先配置 Go 代理(见下方 2.5 节),再执行命令面板(
Ctrl+Shift+P)中的Go: Install/Update Tools重新安装。
推荐配置(settings.json)
在 VS Code 中打开设置(Ctrl+,),点击右上角的 “打开设置(JSON)” 图标,在 settings.json 中添加以下配置:
{
"go.formatTool": "goimports",
"go.lintTool": "golangci-lint",
"go.useLanguageServer": true,
"go.toolsManagement.autoUpdate": true,
"[go]": {
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
}
}
}
配置说明:
go.formatTool: "goimports":保存时自动格式化代码并整理 importgo.toolsManagement.autoUpdate: true:自动更新 Go 工具editor.formatOnSave: true:保存时自动格式化
配置国内镜像代理(中国大陆用户必做)
由于网络原因,直接下载 Go 依赖可能失败。配置 GOPROXY 使用国内代理:
go env -w GOPROXY= https://goproxy.cn ,direct
go env -w GO111MODULE=on
验证配置:
go env GOPROXY
# 应输出: https://goproxy.cn ,direct
理解关键环境变量(GOROOT 与 GOPATH)
在 Go 1.11+ 引入 Go Modules 后,开发模式发生了根本变化。理解这两个变量很重要,但不必过分纠结:
| 变量 | 含义 | 默认值 | 备注 |
|---|---|---|---|
| GOROOT | Go 安装目录(SDK 位置) | 安装时自动设置 | 一般不需要改动 |
| GOPATH | Go 工作区目录 | Windows: %USERPROFILE%\go;Unix: $HOME/go |
用于存放下载的依赖包(pkg/mod)和工具二进制(bin) |
现代开发模式:使用 Go Modules(
go mod)后,代码不再需要放在GOPATH/src下,任何目录都可以作为项目根目录。GOPATH现在主要用于存储依赖缓存和工具。
创建第一个 Go 项目 + go mod init
创建项目目录并初始化模块
# 创建项目目录并进入
mkdir hello-go && cd hello-go
# 初始化 Go Module
go mod init hello-go
执行后,目录下会生成一个 go.mod 文件,内容如下:
module hello-go
go 1.21
go mod init <module-name> 中的模块名可以自由命名。如果项目将托管到 GitHub,建议使用 github.com/你的用户名/项目名 作为模块名,这是 Go 社区的最佳实践。
编写第一个 Go 程序
创建文件 main.go,输入以下内容:
package main
import "fmt"
func main() {
fmt.Println("Hello, Go!")
}
运行程序
# 方式一:直接运行
go run main.go
# 方式二:运行当前目录下的主程序
go run .
# 预期输出:Hello, Go!
编译为可执行文件
go build .
# 生成的可执行文件名为 hello-go(Windows 为 hello-go.exe)
# 运行编译后的程序
./hello-go # Linux / macOS
hello-go.exe # Windows
验收自检(必须通过)
在完成以上所有步骤后,在终端中执行以下两条命令,确保输出正确:
# 1. 验证 Go 版本
go version
# ✅ 能正常显示版本号,例如:go version go1.21.5 windows/amd64
# 2. 验证 go run
go run main.go
# ✅ 能正常输出:Hello, Go!
常见问题排查
| 问题 | 解决方案 |
|---|---|
go version 显示 command not found |
Go 未安装或未添加到 PATH。检查 echo $PATH 是否包含 Go 的 bin 目录 |
| VS Code 提示工具安装失败 | 先执行 go env -w GOPROXY= https://goproxy.cn ,direct,再手动执行 Go: Install/Update Tools |
go run main.go 报错 |
确保文件名为 main.go,且内容中 package main 和 func main() 拼写正确 |
| 代码提示/跳转不工作 | 检查 gopls 是否已安装。打开命令面板(Ctrl+Shift+P),执行 Go: Install/Update Tools,勾选 gopls 重新安装 |
| 无法下载依赖包 | 确保已配置 GOPROXY(go env -w GOPROXY= https://goproxy.cn ,direct) |
常用工具与命令
Go 自带一套完整的开发工具链,无需安装额外的构建工具。以下是最常用的 go 命令速查:
| 命令 | 功能 | 常用场景 |
|---|---|---|
| go build | 编译源代码 | 生成可执行文件,用于部署 |
| go run | 编译并运行 | 快速测试代码,开发调试 |
| go test | 执行测试 | 运行 _test.go 文件中的测试函数 |
| go mod init | 初始化模块 | 创建新项目时生成 go.mod 文件 |
| go mod tidy | 整理依赖 | 下载缺失的依赖,移除未使用的依赖 |
| go fmt | 格式化代码 | 统一代码风格(Go 社区强制使用) |
| go vet | 静态分析 | 检查代码中的可疑构造 |
| go get | 安装依赖包 | 下载并安装指定的包 |
| go doc | 查看文档 | 在终端查看包或函数的文档 |
| go env | 查看环境变量 | 查看 GOPATH、GOROOT 等配置 |
| go clean | 清理构建缓存 | 释放磁盘空间 |
浙公网安备 33010602011771号