首頁 > 後端開發 > Golang > 主體

聊聊Go中的循環依賴檢測工具(go-cyclic)

藏色散人
發布: 2022-12-12 20:21:44
轉載
6479 人瀏覽過

本篇文章為大家介紹Golang的相關知識,聊聊開源Go中的一個循環依賴檢測工具(go-cyclic) ,希望對大家有所幫助。

go-cyclic 循環依賴解決工具

問題說明

      作為Go 開發者,經常會在大型專案中遇到套件的循環依賴問題。
      如果 Golang 出現循環依賴,那麼會在編譯時拋出例外。

什麼時候會出現循環依賴?

      如果有兩個套件:package a 和 package b。當在包a依賴包b,包b依賴包a時,就會產生循環依賴。真實情況可能會更複雜一些。例如,如包a依賴包b,包b依賴包c,包c又依賴包a時,形成一個環。
聊聊Go中的循環依賴檢測工具(go-cyclic)聊聊Go中的循環依賴檢測工具(go-cyclic)

import cycle not allowed
登入後複製

      而且如果項目很大的時候,一個包下面有很多.go 文件,只提示包與包的循環引用(如上圖),是很難定位到哪個.go 檔案和哪個.go 檔案直接進行了循環引用,難以排查。

go-cyclic 簡單用法

      github位址:github.com/elza2/go-cyclic#(歡迎各位大佬提pr)

  ##go-cyclic 可以用來檢查專案是否有循環依賴,並且可以定位到具體的.go 檔案。幫助快速定位循環問題。

快速開始

go install github.com/elza2/go-cyclic@latest
# path 路径要设置为 go.mod 文件所在的路径.go-cyclic gocyclic --dir .path
登入後複製
# success output.Success. Not circular dependence.# failed output.Failed. 1 circular dependence chains were found.┌---→    app.go┆          ↓
┆       routes.go┆          ↓
└---    handler.go
登入後複製

聊聊Go中的循環依賴檢測工具(go-cyclic)#

以上是聊聊Go中的循環依賴檢測工具(go-cyclic)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
go
來源:learnku.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板