工具

  • 快速替换 gofmt -w -l -r "panic(err) -> log.Error(err)" .
  • go list 允许找到所有直接和传递的依赖关系
    • go list -f '{{ .Imports }}' package
    • go list -f '{{ .Deps }}' package
  • 对于快速基准比较,我们有一个 benchstat 工具。
  • go-critic linter 从这个文件中强制执行几条建议
  • go mod why -m <module> 告诉我们为什么特定的模块在 go.mod 文件中。
  • GOGC=off go build ... 应该会加快构建速度 source
  • 内存分析器每 512KB 记录一次分配。你能通过 GODEBUG 环境变量增加比例,来查看你的文件的更多详细信息。

  • go mod why -m <module> 告诉我们为什么特定的模块是在 go.mod 文件中。