1.3. Go Tools

1.3.1. 🚀 开发 & 代码质量

1.3.1.1. 1️⃣ 代码格式化

  • gofmt

    • Go 官方格式化工具,自动整理代码风格

    • 使用方式:

      gofmt -w .
      
  • goimports

    • 自动格式化代码并整理 import 语句

    • 替换 gofmt,更智能


1.3.1.2. 2️⃣ 代码检查 & Lint

  • golangci-lint

    • 集成多种 lint 工具的强大 linter

    • 使用方式:

      golangci-lint run ./...
      
  • staticcheck

    • 高级静态分析工具,可检测错误、性能问题和代码风格问题


1.3.2. 🐞 调试 & 性能分析

1.3.2.1. 3️⃣ 调试工具

  • delve (dlv)

    • Go 官方推荐的调试器,支持断点、单步执行、变量查看

    • 使用方式:

      dlv debug main.go
      

1.3.2.2. 4️⃣ 性能分析 & 追踪

  • pprof

    • Go 内置性能分析工具,可以分析 CPU、内存等

    • 使用方式:

      go tool pprof http://localhost:6060/debug/pprof/profile
      
    • 可以结合 go-torch 生成火焰图

  • trace

    • Go 官方提供的运行时跟踪工具,用于分析 goroutine 执行情况

    • 使用方式:

      go run main.go
      go tool trace trace.out
      

1.3.3. 📦 依赖管理

1.3.3.1. 5️⃣ 依赖管理工具

  • Go Modules (官方推荐)

    • 现代化的 Go 依赖管理工具

    • 使用方式:

      go mod init my_project
      go mod tidy
      
  • goproxy

    • 国内推荐使用 https://goproxy.cn 加速 Go 模块下载

    • 配置方式:

      go env -w GOPROXY=https://goproxy.cn,direct
      

1.3.4. 🛠 开发辅助

1.3.4.1. 6️⃣ 代码生成 & API 工具

  • swaggo

    • 用于自动生成 Swagger API 文档,适用于 RESTful 服务

    • 使用方式:

      go install github.com/swaggo/swag/cmd/swag@latest
      swag init
      
  • ent

    • 强大的 Go ORM 框架,适用于数据库操作

    • 使用方式:

      go install entgo.io/ent/cmd/ent@latest
      ent init User
      
  • gomock

    • 单元测试 mock 工具,可用于模拟接口


1.3.5. ☁️ 云开发 & 部署

1.3.5.1. 7️⃣ DevOps & 部署

  • Air

    • 热重载工具,支持代码改动后自动重启服务

    • 使用方式:

      go install github.com/cosmtrek/air@latest
      air
      
  • goreleaser

    • 自动化 Go 项目发布,生成二进制文件并发布到 GitHub Release

    • 使用方式:

      go install github.com/goreleaser/goreleaser@latest
      goreleaser init
      

1.3.6. 🎯 推荐的 Go 开发环境

1.3.6.1. 8️⃣ IDE & 编辑器

  • GoLand (最强大的 Go 开发 IDE,支持调试、代码分析)

  • VS Code (轻量级,搭配 gopls 扩展)

    • 推荐插件:

      • Go(官方插件)

      • golangci-lint(代码检查)

      • Go Test Explorer(测试可视化)


1.3.7. 🔥 总结

类别

工具

作用

代码格式化

gofmt, goimports

代码自动格式化

代码检查

golangci-lint, staticcheck

代码规范与静态分析

调试工具

dlv (delve)

断点调试

性能分析

pprof, trace

监控 CPU、内存、goroutine

依赖管理

Go Modules, goproxy

依赖管理

开发辅助

swaggo, ent, gomock

API 文档、ORM、单元测试

部署工具

Air, goreleaser

热重载、自动化发布

IDE

GoLand, VS Code

开发环境