Was ist Go Callvis?

青灯夜游
Freigeben: 2023-01-31 19:14:37
Original
3771 Leute haben es durchsucht

Go-callvis ist ein Golang-Code-Visualisierungstool, mit dem das Aufrufdiagramm von Go-Programmen mithilfe interaktiver Ansichten visualisiert werden kann. Installieren Sie den Befehl „go get -u github.com/ofabry/go-callvis“. Der Zweck des Go-callvis-Tools besteht darin, Entwicklern mithilfe von Daten aus dem Aufrufdiagramm und seiner Beziehung zu Paketen und Typen einen visuellen Überblick über ein Go-Programm zu bieten.

Was ist Go Callvis?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, GO Version 1.18, Dell G3-Computer.

1. Einführung in go-callvis

Go-callvis ist ein Golang-Code-Visualisierungstool, mit dem das Aufrufdiagramm von Go-Programmen mithilfe interaktiver Ansichten visualisiert werden kann. Der Zweck dieses Tools besteht darin, Entwicklern einen visuellen Überblick über ein Go-Programm zu bieten und dabei Daten aus dem Aufrufdiagramm und seine Beziehung zu Paketen und Typen zu verwenden. Dies ist besonders nützlich bei größeren Projekten, bei denen die Codekomplexität viel höher ist, oder wenn Sie einfach versuchen, den Code anderer Leute zu verstehen.

Funktionen

  • Unterstützung bestimmter Fokuspakete in Go-Mod-Programmen

  • Programme

  • Klicken Sie auf ein Paket, um mithilfe des interaktiven Viewers schnell den Fokus zu wechseln.

  • Nach Typ, Paket und/oder Methodengruppe Funktionen

  • Pakete nach bestimmten Importpfadpräfixen filtern

  • Funktionen in der Standardbibliothek ignorieren

  • Verschiedene Arten von Funktionsaufrufen weglassen

2. Abhängigkeiten ausführen

  • Go 1.13+
  • Graphviz (optional, nur mit der Flagge -graphviz erforderlich)

3. Installieren Sie

go get -u github.com/ofabry/go-callvis
Nach dem Login kopieren

oder

git clone https://www.php.cn/link/bb2a2fcd8984d12d9efcfcd75a7f7b38.gitcd go-callvismake install
Nach dem Login kopieren

Die installierte ausführbare Datei von go-callvis befindet sich im Verzeichnis $GOPATH/bin

IV. So verwenden Sie

  • Führen Sie go-callvis -h aus, um alle unterstützten Optionen wie folgt aufzulistengo-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.
        显示版本号
Nach dem Login kopieren
  • 命令行格式:go-callvis [可选参数]
  • 默认情况下,输出的图在 http://localhost:7878/,可使用选项-http="ADDR:PORT"更改HTTP服务器地址。
  • 静态输出:
    • 要生成单个输出文件,使用选项-file=<file path></file>选择输出文件目标。
    • 输出格式默认为svg,使用选项-format=<svg></svg>选择其他输出格式。
  • 使用示例:
    • 解析main包 go-callvis -skipbrowser -nostd ./
    • 解析testPkg包 go-callvis -group pkg,type -focus testPkg github.com/项目具体路径
    • rrreee
  • Befehlszeilenformat: go-callvis [optionaler Parameter] &lt ;Paketpfad>

Standardmäßig befindet sich das Ausgabebild in http://localhost:7878/, das können Sie Verwenden Sie die Option -http="ADDR:PORT", um die HTTP-Serveradresse zu ändern. Statische Ausgabe:

Um eine einzelne Ausgabedatei zu generieren, verwenden Sie die Option -file=<file path></file>, um das Ziel der Ausgabedatei auszuwählen.

Was ist Go Callvis?Das Ausgabeformat ist standardmäßig SVG. Verwenden Sie die Option -format=<svg></svg>, um andere Ausgabeformate auszuwählen.

  • Verwendungsbeispiel:

Parsen Sie das Hauptpaket go-callvis -skipbrowser -nostd ./Was ist Go Callvis?

Parsen Sie das testPkg-Paket go-callvis -group pkg,type -focus testPkg github .com /Projektspezifischer Pfad

🎜🎜5. Rendering-Beschreibung🎜🎜🎜🎜🎜🎜🎜Spezifikationsbeschreibung🎜🎜🎜🎜🎜🎜[Verwandte Empfehlungen: 🎜Go-Video-Tutorial🎜, 🎜Programmierunterricht 🎜 】🎜

Das obige ist der detaillierte Inhalt vonWas ist Go Callvis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage