1
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









goper
413 声望26 粉丝

go 后端开发