调试Golang代码

VS Code调试配置

1
//todo

日志记录

1
2
//runtime/debug
//todo

单元测试与Benchmark

表驱动单元测试

1
//todo

性能基准测试Benchmark

1
//todo

高级调试调优

调用栈与堆内存分析

  • trace httptrace
  • pprof

竞态条件检测

–race

Golang高性能最佳实践

  • 使用channel通信代替Mutex
  • 编写goroutine需避免goroutine泄露
  • 高并发场景考虑使用 sync.RWMutex sync.Map sync.Pool
  • select操作不宜包含太多channel