开发工具链
go命令
Go语言的核心命令行工具。
# 常用命令
go build # 编译包和依赖
go run # 编译并运行Go程序
go test # 运行测试
go get # 下载并安装包和依赖
go mod # 模块管理
go fmt # 格式化代码
go vet # 检查代码中的常见错误
go doc # 显示包文档
go env # 显示Go环境变量
go version # 显示Go版本
# 示例
# 编译
go build main.go
# 运行
go run main.go
# 测试
go test ./...
# 安装依赖
go get github.com/gin-gonic/gin
# 格式化
go fmt ./...
gofmt
Go语言的代码格式化工具。
# 基本用法
gofmt -w file.go # 格式化并写入文件
gofmt -d file.go # 显示格式化差异
gofmt -s file.go # 简化代码
# 格式化整个目录
gofmt -w ./...
# 常用选项
-w # 写入文件
-d # 显示差异
-s # 简化代码
-r # 重写规则
goimports
自动管理导入声明的工具。
# 安装
go get golang.org/x/tools/cmd/goimports
# 基本用法
goimports -w file.go # 更新导入并写入文件
goimports -d file.go # 显示导入差异
# 格式化整个目录
goimports -w ./...
# 常用选项
-w # 写入文件
-d # 显示差异
-l # 列出需要格式化的文件
golangci-lint
Go语言的代码质量检查工具。
# 安装
# macOS
brew install golangci-lint
# Windows
scoop install golangci-lint
# Linux
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin
# 基本用法
golangci-lint run # 运行所有检查器
golangci-lint run --fix # 自动修复问题
# 配置文件示例 (.golangci.yml)
linters:
enable:
- gofmt
- golint
- govet
- errcheck
- staticcheck
run:
deadline: 5m
tests: true
skip-dirs:
- vendor
- third_party
dlv
Go语言的调试器。
# 安装
go get github.com/go-delve/delve/cmd/dlv
# 基本用法
dlv debug # 启动调试会话
dlv test # 调试测试
dlv attach # 附加到运行中的进程
# 常用命令
break main.main # 设置断点
continue # 继续执行
next # 下一步
step # 步入
print var # 打印变量
stack # 显示调用栈
goroutines # 显示所有goroutine