1.Data Race数据竞争检测-- race detector
go build -race 1.go
go test -race
2.查看汇编语句
go tool compile -S 1.go
3.性能测试
go test -bench=.1.go
go test -trace=trace.out pkg
4.Go性能测试工具PProf https://www.jianshu.com/p/4e4ff6be6af9 https://zhuanlan.zhihu.com/p/141640004
pprof它是由 Go 官方提供的可用于收集程序运行时报告的工具,其中包含 CPU、内存等信息。
当然,也可以获取运行时 goroutine 堆栈信息,如此一来,我们就可以很容易看出哪里导致了goroutine 泄露。
_ "github.com/mkevac/debugcharts" // 可选,添加后可以查看几个实时图表数据
_ "net/http/pprof" // 必须,引入 pprof 模块
http.ListenAndServe("0.0.0.0:6060", nil)
http://127.0.0.1:6060/debug/pprof/
http://127.0.0.1:6060/debug/charts/
5.使用google wire解决依赖注入
6.golang程序的监控神器---- expvar
7.检测内存逃逸 https://segmentfault.com/a/1190000040043628
go build -gcflags '-m'
8. Go 基础性能分析工具
go tool prof
go tool trace
9.golang代码可视化工具 go-callvis (参考: https://juejin.cn/post/6844903766240526350)
具体使用参考: 详细命令可以参考:https://github.com/TrueFurby/go-callvis/tree/master/examples
go get -u github.com/ofabry/go-callvis
go install github.com/ofabry/go-callvis@latest
go-callvis <target package>
http://localhost:7878/
示例: md52id 是package name,已在go.mod中声明,pakage name是一个必须要带的参数。
go-callvis -group pkg,type md52id
go-callvis -group pkg,type -ignore github.com/gin-gonic/gin mmdialog-post-processing
如果想看idg包内部的调用关系,可以使用 focus 命令,指定idg 包,命令如下:
go-callvis -focus=md52id/idg -group pkg,type -limit md52id md52id
10. table to Struct 工具
https://github.com/gohouse/converter
11.GoTests工具自动化test使用
go get -u github.com/cweill/gotests
goland Win下快捷键ctrl+shift+T,也可以鼠标右键选择菜单栏 go to =》TEST ,
选择Generate for selection, file, package进而去生成测试用例。
12. xstrings 字符串处理包
https://github.com/huandu/xstrings
13.goland 常用的插件
go install golang.org/x/tools/cmd/goimports@latest
Tabnine AI 代码补全
Protocol Buffers
Makefile Language
csv
Rainbow Brackets
String Manipulation
Gopher
CodeGlance
字符串操作(String Manipulation)
GitToolBox
汇总:
11)revive golang 代码质量检测工具 https://github.com/mgechev/revive
12)Go Callvisgolang 的代码调用链图工具 https://github.com/TrueFurby/go-callvis
13)Realize 开发流程改进工具 https://github.com/oxequa/realize
14)Gotests自动生成测试用例工具 https://github.com/cweill/gotests
1)goperf代理工具,支持内存,cpu,堆栈查看,并支持火焰图.perf 工具和 go-torch 工具,
快捷定位程序问题.
go get -u github.com/google/pprof
go build -gcflags="all=-N -l"
https://github.com/uber-archive/go-torch
https://github.com/google/gops
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。