开发工具链

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