Cycle d’importation non autorisé

J’ai un problème avec

cycle d’importation non autorisé

Il apparaît lorsque j’essaie de tester mon contrôleur. Comme sortie j’ai

can't load package: import cycle not allowed package project/controllers/account imports project/controllers/base imports project/components/mux imports project/controllers/account import cycle not allowed package project/controllers/account imports project/controllers/base imports project/components/mux imports project/controllers/account import cycle not allowed package project/controllers/account imports project/controllers/base imports project/components/mux imports project/controllers/routes imports project/controllers/base 

Quelqu’un peut-il me dire, comment lire ou comprendre cette erreur? Où la dépendance est-elle fausse?

Voici une illustration de votre premier problème de cycle d’importation.

  project/controllers/account ^ \ / \ / \ / \/ project/components/mux <--- project/controllers/base 

Comme vous pouvez le voir avec mon mauvais graphique ASCII, vous créez un cycle d'importation lorsque project/components/mux importe un project/controllers/account . Comme Go ne prend pas en charge les dépendances circulaires, le import cycle not allowed lors de la compilation.

Je viens de rencontrer ça. Vous pouvez accéder à une méthode / un type à partir du même package en utilisant le nom du package lui-même.

Voici un exemple pour illustrer ce que je veux dire:

Dans foo.go:

 // foo.go package foo func Foo() {...} 

Dans foo_test.go:

 // foo_test.go package foo // try to access Foo() foo.Foo() // WRONG <== This was the issue. You are already in package foo, there is no need to use foo.Foo() to access Foo() Foo() // CORRECT