Go 安装与环境配置
安装 Go
macOS 安装
方法一:使用 Homebrew(推荐)
# 安装 Go
brew install go
# 验证安装
go version方法二:官方安装包
- 访问 Go 官网
- 下载 macOS 安装包(.pkg 文件)
- 双击安装包,按照提示完成安装
- 验证安装:
go version
Linux 安装
方法一:使用包管理器
# Ubuntu/Debian
sudo apt update
sudo apt install golang-go
# CentOS/RHEL
sudo yum install golang
# 验证安装
go version方法二:官方二进制包(推荐)
# 1. 下载 Go(替换版本号)
wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz
# 2. 删除旧版本(如果存在)
sudo rm -rf /usr/local/go
# 3. 解压到 /usr/local
sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
# 4. 添加到 PATH(添加到 ~/.bashrc 或 ~/.zshrc)
export PATH=$PATH:/usr/local/go/bin
# 5. 重新加载配置
source ~/.bashrc # 或 source ~/.zshrc
# 6. 验证安装
go versionWindows 安装
- 访问 Go 官网
- 下载 Windows 安装包(.msi 文件)
- 双击安装包,按照提示完成安装
- 安装程序会自动配置环境变量
- 打开命令提示符,验证安装:
go version
环境变量配置
GOPATH(旧版本,Go 1.11 之前)
# GOPATH 是 Go 的工作空间
# 包含三个目录:
# - src: 源代码
# - pkg: 编译后的包
# - bin: 可执行文件
# 设置 GOPATH
export GOPATH=$HOME/go
# 添加到 PATH
export PATH=$PATH:$GOPATH/binGOROOT(可选)
# GOROOT 是 Go 的安装目录
# 通常不需要手动设置,安装程序会自动配置
export GOROOT=/usr/local/goGo Modules(Go 1.11+,推荐)
# Go Modules 是现代的包管理方式
# 不需要设置 GOPATH
# 启用 Go Modules(Go 1.13+ 默认启用)
export GO111MODULE=on
# 设置代理(加速下载,可选)
export GOPROXY=https://goproxy.cn,direct
# 设置私有模块(如果有私有仓库)
export GOPRIVATE=git.example.com验证安装
检查版本
go version
# 输出:go version go1.21.0 darwin/amd64检查环境变量
go env
# 显示所有 Go 相关的环境变量常用环境变量
# 查看特定环境变量
go env GOPATH
go env GOROOT
go env GOPROXY
go env GO111MODULE开发环境配置
VS Code 配置
-
安装 Go 扩展
- 打开 VS Code
- 搜索并安装 “Go” 扩展(由 Go Team 提供)
-
安装 Go 工具
# VS Code 会自动提示安装 Go 工具
# 或者手动安装:
go install golang.org/x/tools/gopls@latest
go install github.com/go-delve/delve/cmd/dlv@latest- 配置 settings.json
{
"go.useLanguageServer": true,
"go.formatTool": "goimports",
"go.lintTool": "golangci-lint",
"go.testFlags": ["-v"],
"go.coverOnSave": true
}GoLand 配置
- 下载并安装 GoLand
- 首次打开会自动检测 Go SDK
- 配置 GOROOT 和 GOPATH(如果需要)
创建第一个 Go 程序
1. 创建项目目录
# 创建项目目录
mkdir hello-go
cd hello-go2. 初始化 Go Module
# 初始化 Go Module(创建 go.mod 文件)
go mod init hello-go
# 这会创建 go.mod 文件,内容类似:
# module hello-go
# go 1.213. 创建 main.go
// main.go
package main // 声明包名,main 包是可执行程序的入口
import "fmt" // 导入标准库 fmt,用于格式化输出
// main 函数是程序的入口点
func main() {
// 打印 "Hello, World!"
fmt.Println("Hello, World!")
}4. 运行程序
# 方式一:直接运行
go run main.go
# 输出:Hello, World!
# 方式二:编译后运行
go build main.go
./main # Linux/macOS
# 或 main.exe # Windows项目结构
标准项目结构
my-project/
├── go.mod # Go Module 配置文件
├── go.sum # 依赖校验文件
├── main.go # 主程序入口
├── cmd/ # 可执行文件目录
│ └── app/
│ └── main.go
├── internal/ # 内部包(外部无法导入)
│ └── utils/
│ └── helper.go
├── pkg/ # 公共包(可以被外部导入)
│ └── api/
│ └── client.go
├── api/ # API 定义
├── config/ # 配置文件
├── scripts/ # 脚本文件
└── README.md
示例项目结构
hello-go/
├── go.mod
├── go.sum
├── main.go
├── handlers/ # 处理器
│ └── user.go
├── models/ # 数据模型
│ └── user.go
├── utils/ # 工具函数
│ └── logger.go
└── README.md
常用命令
go mod 命令
# 初始化 Module
go mod init <module-name>
# 下载依赖
go mod download
# 整理依赖
go mod tidy
# 查看依赖
go mod graph
# 验证依赖
go mod verify
# 编辑 go.mod
go mod editgo build 命令
# 编译当前包
go build
# 编译指定文件
go build main.go
# 编译并指定输出文件名
go build -o app main.go
# 交叉编译(Linux 编译 Windows)
GOOS=windows GOARCH=amd64 go build main.go
# 编译时显示详细信息
go build -v
# 编译时显示编译时间
go build -xgo run 命令
# 编译并运行
go run main.go
# 运行多个文件
go run main.go utils.go
# 运行整个包
go run .go test 命令
# 运行测试
go test
# 运行测试并显示详细信息
go test -v
# 运行测试并显示覆盖率
go test -cover
# 运行指定测试
go test -run TestFunctiongo install 命令
# 安装包到 $GOPATH/bin
go install github.com/example/tool
# 安装当前包
go install .go get 命令
# 下载并添加依赖
go get github.com/gin-gonic/gin
# 下载指定版本
go get github.com/gin-gonic/gin@v1.9.0
# 更新依赖
go get -u github.com/gin-gonic/gin
# 下载所有依赖
go get ./...go fmt 命令
# 格式化代码
go fmt ./...
# 或者使用 goimports(需要安装)
go install golang.org/x/tools/cmd/goimports@latest
goimports -w .go vet 命令
# 静态代码检查
go vet ./...代理配置(加速下载)
使用 Go 代理
# 设置 Go 代理(推荐使用国内代理)
export GOPROXY=https://goproxy.cn,direct
# 或者使用官方代理
export GOPROXY=https://proxy.golang.org,direct
# 多个代理(按顺序尝试)
export GOPROXY=https://goproxy.cn,https://goproxy.io,direct常用代理地址
https://goproxy.cn- 七牛云(推荐)https://goproxy.io- GoProxy.iohttps://proxy.golang.org- 官方代理
常见问题
1. 命令未找到
# 问题:bash: go: command not found
# 解决:检查 PATH 环境变量
echo $PATH
# 确保包含 Go 的 bin 目录2. 权限问题
# 问题:permission denied
# 解决:使用 sudo 或修改目录权限
sudo chown -R $(whoami) /usr/local/go3. 版本问题
# 检查 Go 版本
go version
# 如果需要升级,下载新版本并替换4. Module 问题
# 问题:go: cannot find main module
# 解决:确保在项目根目录,或初始化 Module
go mod init <module-name>总结
- 安装 Go:使用包管理器或官方安装包
- 配置环境:设置 GOPROXY 加速下载
- 初始化项目:使用
go mod init创建项目 - 开发工具:安装 VS Code Go 扩展或使用 GoLand
- 常用命令:掌握
go run、go build、go test等命令
完成以上配置后,就可以开始 Go 开发了!