iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Go Callvis是啥
  • 813
分享到

Go Callvis是啥

Golanggo语言go-callvis 2023-05-14 19:05:23 813人浏览 安东尼
摘要

Go-callvis是一种golang代码可视化工具,用于帮助使用交互式视图可视化Go程序的调用图,安装命令“go get -u GitHub.com/ofabry/go-callvis”。Go-callvis工具的目的是为开发人员提供一个

Go-callvis是一种golang代码可视化工具,用于帮助使用交互式视图可视化Go程序的调用图,安装命令“go get -u GitHub.com/ofabry/go-callvis”。Go-callvis工具的目的是为开发人员提供一个可视化的Go程序概览,使用来自调用图的数据及其与包和类型的关系。

Go Callvis是啥

教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。

一、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/项目具体路径

五、效果图说明

请添加图片描述

  • 规范说明

在这里插入图片描述

【相关推荐:Go视频教程、编程教学】

以上就是Go Callvis是啥的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: Go Callvis是啥

本文链接: https://www.lsjlt.com/news/203585.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Go Callvis是啥
    Go-callvis是一种golang代码可视化工具,用于帮助使用交互式视图可视化Go程序的调用图,安装命令“go get -u github.com/ofabry/go-callvis”。Go-callvis工具的目的是为开发人员提供一个...
    99+
    2023-05-14
    Golang go语言 go-callvis
  • Go Callvis如何使用
    今天小编给大家分享一下Go Callvis如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Go-callvis是一种g...
    99+
    2023-07-05
  • go是啥语言
    go语言是一种开源的编程语言,由Google开发并于2009年首次发布,go语言被设计用于构建高效、可靠、简单且可扩展的软件。它在网络编程、分布式系统开发、命令行工具和系统工具开发等方面表现出色,并且具有许多其他特性和优势,使其成为许多开发...
    99+
    2023-12-11
    Go 语言
  • GoLang调用链可视化go-callvis使用介绍
    本文介绍一款工具 go-callvis,它能够将 Go 代码的调用关系可视化出来,并提供了可交互式的 web 服务。 go get -u github.com/ofabry/go-c...
    99+
    2023-02-02
    Go callvis Go 调用链可视化
  • go语言源码是啥写的
    Go语言早期源码是使用C语言和汇编语言写成的,从Go 1.5版本后,完全使用Go语言自身进行编写。Google早在2014年初的时候,就已经开始在筹备从Go语言的源码中彻底移除C语言,也就是说让Go语言真正完成自举,用早期版本重写了Go语言...
    99+
    2023-05-14
    go语言 Golang
  • go语言能干啥
    go语言能干的事:1、服务器编程;Go语言作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等。2、开发分布式系统、数据库代理器、中间件等,例如Etcd。3、网络编程,包括Web应用、API应用、下载...
    99+
    2023-05-14
    go语言 Golang
  • Docker是啥?
    Docker的图标代表,它托着许多集装箱。我们可以把宿主机可当做这只鲸鱼,把相互隔离的容器可看成集装箱,每个集装箱中都包含自己的应用程序。Docker其操作的也是集装箱,这个集装箱就静态而言就是一个应用镜像文件,就动态而言,就是一个容器。D...
    99+
    2023-01-30
    Docker
  • discuz是啥
    discuz是一个非常受欢迎的社区论坛软件,由中国开发的,被广泛用于各种网站和社区平台,是基于PHP语言开发的,使用MySQL数据库进行数据存储。本教程操作系统:Windows10系统、Discuz X3.5版本、Dell G3电脑。Dis...
    99+
    2023-08-08
  • cdn是啥
    CDN是内容分发网络的缩写,一种分布式网络架构,通过将内容分发到全球各地的服务器节点上,以提高内容传输速度、降低网络延迟、减轻服务器负载、提高网站可靠性和抵御攻击的网络架构,通过CDN,用户可以更快速地访问到所需的内容,提升了用户体验,同时...
    99+
    2023-08-14
  • golang是啥子
    Golang,也称为Go语言,是一种开源计算机编程语言,由Google公司于2007年开发并推出。它最初是为了解决Google内部业务中的一些问题而开发的,但随着其在开源社区中的推广和受到越来越多的开发者的喜爱,Golang已经成为一种广泛...
    99+
    2023-05-18
  • php curl 是啥
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php curl 是啥php curl就是php中的数据传输神器。PHP支持的由Daniel Stenberg创建的libcurl库允许你与各种的服务器使用各种类型的协议...
    99+
    2020-04-13
    php curl
  • 磁盘是啥
    磁盘是计算机中的一种外部存储设备,用于存储和检索数据,由一个或多个磁性盘片组成,每个盘片都被分成一个或多个磁道和扇区,通过旋转盘片和移动磁头来读取和写入数据。其具有高容量、高持久性和可靠性的特点,被广泛应用于计算机系统中。本教程操作系统:W...
    99+
    2023-08-16
  • r语言与go语言有啥区别
    r语言与go语言区别有:1、R语言是一种专门用于统计分析和数据可视化的语言,Go语言是一种面向并发的编程语言;2、在适用领域上,R语言主要用于数据分析和统计建模,Go语言主要用于构建网络服务和分布式系统;3、在编程风格上,R语言更接近脚本语...
    99+
    2023-07-13
  • css层叠是啥
    CSS层叠是前端开发中非常重要的概念之一。它是指在HTML文档中,当多个CSS规则同时应用于同一个元素时,浏览器如何决定哪个规则将被应用于元素,并且如何处理规则之间的冲突。CSS层叠机制是基于一系列的规则和优先级来工作的。这些规则和优先级决...
    99+
    2023-10-21
    css层叠
  • vue页面是啥
    Vue页面是使用Vue框架进行开发的单页应用程序。Vue是一种流行的JavaScript框架,它可以用于构建数据驱动的交互式Web界面,简化Web应用程序的开发和维护。Vue实际上是MVVM(Model-View-ViewModel)模式的...
    99+
    2023-05-24
  • php是做啥的
    php即“超文本预处理器”,是在服务器端执行的脚本语言,用于web开发;php的作用有:1、生成动态页面内容;2、创建、打开、读取、写入、删除以及关闭服务器上的文件;3、接收表单数据;4、添加、删除、修改数据库中的数据;5、限制用户访问网站...
    99+
    2023-05-14
    php
  • url是啥意思
    url是“Uniform Resource Locator”的缩写,中文意为“统一资源定位符”。URL是通过互联网来定位和访问特定资源的地址,常见于网页浏览和HTTP请求中。URL的主要作用是定位和访问互联网上的资源,这些资源可以是网页、图...
    99+
    2023-08-04
  • git凭证是啥
    什么是git凭证?Git是一种分布式版本控制系统,因为它的分布式特性,使得多人协作变得更加方便。尤其是在团队开发项目时,Git的使用随处可见。在对Git进行操作时,通常需要输入用户名和密码或凭证。而最近,Git增加了一个新特性:Git凭证(...
    99+
    2023-10-22
  • java是啥意思?
    Java是一门面向对象编程语言,是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。【推荐学习:java课程】java不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的...
    99+
    2020-07-28
    java教程 java
  • java 是啥意思?
    Java是一门面向对象编程语言,是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多...
    99+
    2016-06-16
    java教程 java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作