Maison > développement back-end > Golang > le corps du texte

Parlons de l'outil de détection de dépendances cycliques (go-cyclic) dans Go

藏色散人
Libérer: 2022-12-12 20:21:44
avant
6464 Les gens l'ont consulté

Cet article vous présentera les connaissances pertinentes sur Golang et parlera d'un outil de détection de dépendances cycliques (go-cyclic) dans Go open source. J'espère qu'il vous sera utile. LGo-GYCLIC Cyclone s'appuyant sur des outils

Cas problématiques En tant que développeur Go, il rencontre souvent le problème de dépendance au cycle des sacs dans les grands projets. S'il existe une dépendance circulaire dans Golang, une exception sera levée lors de la compilation.

Quand les dépendances circulaires se produisent-elles ?

S'il y a deux forfaits : le forfait a et le forfait b. Lorsque le package a dépend du package b et que le package b dépend du package a, une dépendance circulaire se produit. La situation réelle est peut-être plus compliquée. Par exemple, si le package a dépend du package b, le package b dépend du package c et le package c dépend du package a, un cycle est formé.


import cycle not allowed
Copier après la connexion
Parlons de loutil de détection de dépendances cycliques (go-cyclic) dans Go Et si le projet est volumineux, il y a de nombreux fichiers .go sous un package, et seules des références circulaires entre les packages sont demandées (comme indiqué ci-dessus), il est difficile de localiser quel fichier .go et quel .go fichier Une référence circulaire est faite directement, ce qui rend difficile le dépannage. Parlons de loutil de détection de dépendances cycliques (go-cyclic) dans Gogo-cyclic Simple Usage

Adresse Github :

github.com/elza2/go-cyclic

(Tout le monde est invité à soumettre un PR)

go-cyclic

peut être utilisé pour vérifier si le projet a des dépendances cycliques, et peut localiser le fichier .go spécifique. Aide à localiser rapidement les problèmes de boucle.

Démarrage rapide

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
go
source:learnku.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal