go-callvis的github地址
https://github.com/ofabry/go-callvis
go-callvis的简介
go-callvis是为了让go开发人员能用更简单的弄明白go工程中的函数和包之间的调用关系,将工程中的调用关系用图表等可视化的方式展示出来。在大型项目中调用关系非常复杂,用go-callvis工具理解起来会很有帮助。
ps:对于代码逻辑很优美的大型工程来说,工具会很有用,看起来结构很清晰;但是对于写的一般的大型工程来说,看起来同样很麻烦,因为生成的图表的调用关系线非常复杂,而且很密很乱,当然也能起到帮助,只是没有那么明显。另外根据网上的其他人的使用介绍来看,使用了cgo等调用不同语言的包函数的工程项目,整体解析效果并不特别理想,需要在使用时先把非go包无视掉。
go-callvis的使用例子
在介绍使用方式前先看看使用go-callvis的例子。
go-callvis官方给出的例子如下
官方例子的代码目录结构为
我自己的例子如下
写了一个简单的grpc例子。
代码目录结构:
其中:
- 两个带p