Heim  >  Artikel  >  Backend-Entwicklung  >  Lassen Sie uns über das Tool zur Erkennung zyklischer Abhängigkeiten (go-Cyclic) in Go sprechen

Lassen Sie uns über das Tool zur Erkennung zyklischer Abhängigkeiten (go-Cyclic) in Go sprechen

藏色散人
藏色散人nach vorne
2022-12-12 16:47:566333Durchsuche

Dieser Artikel führt Sie in das relevante Wissen über Golang ein und spricht über ein Tool zur Erkennung zyklischer Abhängigkeiten (Go-Cyclic) in Open Source Go. Ich hoffe, es wird Ihnen hilfreich sein. LGo-GYCLIC Cyclone verlässt sich auf Tools

Problemfälle Als Go-Entwickler stößt es bei großen Projekten häufig auf das Problem der Zyklusabhängigkeit von Taschen. Wenn in Golang eine zirkuläre Abhängigkeit besteht, wird während der Kompilierung eine Ausnahme ausgelöst.

Wann treten zirkuläre Abhängigkeiten auf?

Wenn es zwei Pakete gibt: Paket a und Paket b. Wenn Paket a von Paket b abhängt und Paket b von Paket a abhängt, entsteht eine zirkuläre Abhängigkeit. Die reale Situation könnte komplizierter sein. Wenn beispielsweise Paket a von Paket b abhängt, Paket b von Paket c abhängt und Paket c von Paket a abhängt, wird ein Zyklus gebildet.


import cycle not allowed
Lassen Sie uns über das Tool zur Erkennung zyklischer Abhängigkeiten (go-Cyclic) in Go sprechen Und wenn das Projekt groß ist, es viele .go-Dateien unter einem Paket gibt und nur Zirkelverweise zwischen Paketen abgefragt werden (wie oben gezeigt), ist es schwierig zu finden, welche .go-Datei und welche .go Datei Es wird direkt ein Zirkelverweis erstellt, was die Fehlerbehebung erschwert. Lassen Sie uns über das Tool zur Erkennung zyklischer Abhängigkeiten (go-Cyclic) in Go sprechenGo-Cyclic einfache Verwendung

Github-Adresse:

github.com/elza2/go-symmetric

(Jeder ist herzlich eingeladen, PR einzureichen)

Go-Cyclic

kann verwendet werden, um zu überprüfen, ob das Projekt zyklische Abhängigkeiten aufweist. und kann die spezifische .go-Datei finden. Hilft, Schleifenprobleme schnell zu lokalisieren.

Schnellstart

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

Das obige ist der detaillierte Inhalt vonLassen Sie uns über das Tool zur Erkennung zyklischer Abhängigkeiten (go-Cyclic) in Go sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen