Go语言中的Callvis是啥
一、go-callvis介绍
Go-callvis是一种golang代码可视化工具,用于帮助使用交互式视图可视化 Go 程序的调用图。此工具的目的是为开发人员提供一个可视化的 Go 程序概览,使用来自调用图的数据及其与包和类型的关系。这在大型项目中特别有用,因为这些项目的代码复杂度要高得多,或者只是简单地试图理解其他人的代码。
特性
-
支持go mod
-
程序中的特定焦点包
-
点击软件包,使用交互式查看器快速切换焦点
-
按类型按包和/或方法分组函数
-
过滤器包到特定的导入路径前缀
-
忽略标准库中的函数
-
省略各种类型的函数调用
二、运行依赖
- Go 1.13
- Graphviz (optional, required only with -graphviz flag)
三、安装
go get -u github.com/ofabry/go-callvis
或者是
git clone https://www.php.cn/link/bb2a2fcd8984d12d9efcfcd75a7f7b38.gitcd go-callvismake install
安装好的 go-callvis 可执行文件会在$GOPATH/bin目录下
四、使用方法
- 运行
go-callvis -h
可以列出所有受支持的选项,如下
Usage of go-callvis:
-debug
Enable verbose log.
输出详细日志
-file string
output filename - omit to use server mode
以文件新式输出结果,并将忽略server交互模式
-cacheDir string
Enable caching to avoid unnecessary re-rendering.
启用缓存以避免不必要的重新渲染。
-focus string
Focus specific package using name or import path. (default "main")
关注特定的程序包,默认为“main”包
-format string
output file format [svg | png | jpg | ...] (default "svg")
输出文件的格式,[svg | png | jpg | ...],默认为svg
-graphviz
Use Graphviz's dot program to render images.
使用Graphviz渲染图像
-group string
Grouping functions by packages and/or types [pkg, type] (separated by comma) (default "pkg")
分组功能,根据包 与/或 类型分组 [pkg, type] (用逗号分开) (默认 "pkg"),例如 -group pkg,type
-http string
HTTP service address. (default ":7878")
HTTP 服务地址 (默认 ":7878")
-ignore string
Ignore package paths containing given prefixes (separated by comma)
忽略包含给定前缀的包路径(用逗号分开)
-include string
Include package paths with given prefixes (separated by comma)
包含具有给定前缀的包路径 (用逗号分开)
-limit string
Limit package paths to given prefixes (separated by comma)
将包路径限制为给定的前缀(以逗号分隔)
-minlen uint
Minimum edge length (for wider output). (default 2)
最小边长(用于更宽的输出)。 (默认2)
-nodesep float
Minimum space between two adjacent nodes in the same rank (for taller output). (default 0.35)
同一等级中两个相邻节点之间的最小间距(用于更高的输出)。 (默认0.35)
-nointer
Omit calls to unexported functions.
忽略对未导出函数的调用。(忽略首字母小写的函数)
-nostd
Omit calls to/from packages in standard library.
忽略标准库的调用
-skipbrowser
Skip opening browser.
跳过打开浏览器
-tags build tags
a list of build tags to consider satisfied during the build. For more information about build tags, see the description of build constraints in the documentation for the go/build package
在构建期间更适合的构建标记
有关构建标记的更多信息,请参阅go / build软件包的文档中的构建约束说明。
-tests
Include test code.
包含测试代码
-version
Show version and exit.
显示版本号
- 命令行格式:
go-callvis [可选参数] <包路径>
- 默认情况下,输出的图在 http://localhost:7878/,可使用选项
-http="ADDR:PORT"
更改HTTP服务器地址。 - 静态输出:
- 要生成单个输出文件,使用选项
-file=<file path>
选择输出文件目标。 - 输出格式默认为svg,使用选项
-format=<svg|png|jpg|...>
选择其他输出格式。
- 要生成单个输出文件,使用选项
- 使用示例:
- 解析main包
go-callvis -skipbrowser -nostd ./
- 解析testPkg包
go-callvis -group pkg,type -focus testPkg github.com/项目具体路径
- 解析main包
五、效果图说明
- 规范说明
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanfbiie
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24