最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Golang 可視化工具之go-callvis的實現

 更新時間:2026年06月25日 09:15:38   作者:普通網友  
Go-callvis 是一個開發(fā)工具,用于幫助使用交互式視圖可視化Go 程序的調用圖,此工具的目的是為開發(fā)人員提供一個可視化的 Go 程序概覽,下面就來詳細的介紹一下,感興趣的可以了解一下

一 背景

日常我們會看一些開源項目,或者想看自己寫的代碼可視化,在golang中可以利用工具實現,go-callvis是以圖片的形式展示了go程序的調用關系,在看復雜項目時尤其有用。

二 go-callvies 簡介

2.1 工具簡介

Go-callvis 是一個開發(fā)工具,用于幫助使用交互式視圖可視化 Go 程序的調用圖。

此工具的目的是為開發(fā)人員提供一個可視化的 Go 程序概覽,使用來自調用圖的數據及其與包和類型的關系。這在大型項目中特別有用,因為這些項目的代碼復雜度要高得多,或者只是簡單地試圖理解其他人的代碼。

2.2 特性

  • 支持go mod
  • 程序中的特定焦點包
  • 點擊軟件包,使用交互式查看器快速切換焦點
  • 按類型按包和/或方法分組函數
  • 過濾器包到特定的導入路徑前綴
  • 忽略標準庫中的函數
  • 省略各種類型的函數調用

三 安裝

  • go get安裝
$ go get -u github.com/ofabry/go-callvis 
  • 源碼編譯安裝
$ git clone https://github.com/ofabry/go-callvis.git cd go-callvis && make install

四 輸出示例

它運行指針分析來構造程序的調用圖,并使用數據生成點格式的輸出,可以使用 Graphviz 工具進行渲染。

五 安裝

go get -u github.com/ofabry/go-callvis
# or
git clone https://github.com/ofabry/go-callvis.git
cd go-callvis && make install

六 使用

go-callvis [可選參數] <包路徑>

1)使用瀏覽器交互展示

默認情況下,HTTP服務器在http://localhost:7878/上偵聽,請使用選項`-http="ADDR:PORT"`更改HTTP服務器地址。

2)靜態(tài)輸出

要生成單個輸出文件,使用選項-file=<file path>選擇輸出文件目標。

輸出格式默認為svg,使用選項-format=<svg|png|jpg|…>選擇其他輸出格式。

3)其他參數

-debug
         輸出詳細日志
   -file string
         以文件新式輸出結果,并將忽略server交互模式
   -focus string
         Focus specific package using name or import path. (default "main")
   -format string
         輸出文件的格式 [svg | png | jpg | ...] (默認 "svg")
   -graphviz
         使用Graphviz渲染圖像
   -group string
         分組功能,根據包 與/或 類型分組 [pkg, type] (用逗號分開) (默認 "pkg"),例如 -group pkg,type
   -http string
         HTTP 服務地址 (默認 ":7878")
   -ignore string
        忽略包含給定前綴的包路徑(用逗號分開)
   -include string
         包含具有給定前綴的包路徑 (用逗號分開)
   -limit string
         Limit package paths to given prefixes (separated by comma)
   -minlen uint
         Minimum edge length (for wider output). (default 2)
   -nodesep float
         Minimum space between two adjacent nodes in the same rank (for taller output). (default 0.35)
   -nointer
         忽略對未導出函數的調用。
   -nostd
         忽略標準庫的調用
   -skipbrowser
         跳過打開瀏覽器
   -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
   -tests
         包含測試代碼
   -version
         顯示版本號
1)解析main包
go-callvis -skipbrowser -nostd ./
2)解析testPkg包
go-callvis -group pkg,type -focus testPkg github.com/項目具體路徑 

簡單示例

$ go-callvis -format png -group pkg,type -focus github.com/kaliarch/cobra
/cmd/app github.com/kaliarch/cobra
2021/08/18 11:22:12 http serving at http://localhost:7878
2021/08/18 11:22:21 converting dot to png..
2021/08/18 11:22:22 serving file: /var/folders/wn/367g1v9n1bv0sg1k8qldzym80000gn/T/go-callvis_export.png

到此這篇關于Golang 可視化工具之go-callvis的實現的文章就介紹到這了,更多相關Golang go-callvis內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Go??iota?常量基本語法介紹

    Go??iota?常量基本語法介紹

    這篇文章主要介紹了Go?為什么要設計?iota?常量,我們介紹了 Go 中 iota 的基本語法。同時基于歷史資料針對 iota 到底是什么,為什么要這么叫,又有什么用進行了一番研究,需要的朋友可以參考下
    2022-06-06
  • go語言實現銀行卡號Luhn校驗

    go語言實現銀行卡號Luhn校驗

    這篇文章主要為大家介紹了go語言Luhn校驗測試銀行卡號碼的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • 詳解Golang 推薦的命名規(guī)范

    詳解Golang 推薦的命名規(guī)范

    這篇文章主要介紹了詳解Golang 推薦的命名規(guī)范,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • 淺析go語言如何實現協(xié)程的搶占式調度的

    淺析go語言如何實現協(xié)程的搶占式調度的

    go語言通過GMP模型實現協(xié)程并發(fā),為了避免單協(xié)程持續(xù)持有線程導致線程隊列中的其他協(xié)程饑餓問題,設計者提出了一個搶占式調度機制,本文會基于一個簡單的代碼示例對搶占式調度過程進行深入講解剖析
    2024-04-04
  • 使用go語言將單反斜杠改為雙反斜杠的方法

    使用go語言將單反斜杠改為雙反斜杠的方法

    最近開發(fā)的時候遇到這么個問題,就是在window上獲取了文件目錄的字段,然后將這個絕對路徑保存到數據庫,但是前端展示的時候路徑的雙反斜杠變成了單反斜杠,本文給大家介紹了使用go語言將單反斜杠改為雙反斜杠的方法,需要的朋友可以參考下
    2024-01-01
  • Go獲取與設置環(huán)境變量的方法詳解

    Go獲取與設置環(huán)境變量的方法詳解

    go環(huán)境變量的配置其實說真的說難也難,說不難也不難,只要配置成功過一次以后后面都很簡單,但是最好是要做好筆記,這篇文章主要給大家介紹了關于Go獲取與設置環(huán)境變量的相關資料,需要的朋友可以參考下
    2021-11-11
  • Go 高性能本地緩存 FastCache 的使用

    Go 高性能本地緩存 FastCache 的使用

    FastCache是Go本地緩存庫,主打高性能、低開銷、零 GC,專門解決傳統(tǒng)緩存,在大數據量、高并發(fā)場景下的性能瓶頸和 GC 壓力問題,下面就來詳細的介紹一下Go 高性能本地緩存 FastCache 的使用,感興趣的可以了解一下
    2026-06-06
  • 在VS?Code中配置Go開發(fā)環(huán)境的完整過程

    在VS?Code中配置Go開發(fā)環(huán)境的完整過程

    如果您希望在本地計算機上開始使用Go語言進行開發(fā),但尚未配置好VSCode中的Go支持,則可能是由于缺少必要工具鏈、擴展或環(huán)境變量設置,可以看看這篇文章,這篇文章主要介紹了在VS Code中配置Go開發(fā)環(huán)境的完整過程,需要的朋友可以參考下
    2026-04-04
  • Golang解析yaml文件的方法小結

    Golang解析yaml文件的方法小結

    Go 語言沒有內置解析 yaml 文件的功能,實現 yaml 的解析可以使用第三方庫,下面我們就來看看如何使用opkg.in/yaml.v2 和 gopkg.in/yaml.v3實現解析yaml吧
    2024-11-11
  • 基于Golang編寫貪吃蛇游戲

    基于Golang編寫貪吃蛇游戲

    這篇文章主要為大家學習介紹了Golang如何基于終端庫termbox-go做個功能較簡單的貪吃蛇游戲,文中的示例代碼講解詳細,具有一定的學習價值
    2023-07-07

最新評論

天全县| 泗水县| 保定市| 吉水县| 霍城县| 元江| 甘南县| 蕲春县| 汉中市| 龙山县| 大埔县| 吉安县| 开平市| 五家渠市| 木里| 高唐县| 丰城市| 灵丘县| 靖远县| 息烽县| 如皋市| 陇南市| 通海县| 和平区| 桑植县| 泽普县| 辽源市| 常宁市| 德令哈市| 米易县| 安国市| 娄底市| 平度市| 岳池县| 石渠县| 汉阴县| 云南省| 连南| 孙吴县| 彰武县| 瓦房店市|