Erreur "Import cycle not allowed" en Go : comment corriger l'import cyclique de packages
Bonjour à tous ! Je viens de commencer à apprendre Go et j'ai déjà rencontré un problème que je n'arrive pas à résoudre seul. J'ai deux packages : `auth` et `user`. Dans le package `auth`, je veux utiliser la fonction `GetUserByID` du package `user` pour vérifier si un utilisateur existe. Et dans le package `user`, j'ai besoin d'appeler la fonction `CheckPermission` du package `auth` pour vérifier les droits d'accès lors de la création d'un nouvel utilisateur. Voici à quoi ressemblent mes fichiers :
// auth/auth.go
package auth
import "project/user"
func Login(userID int) bool {
user := user.GetUserByID(userID)
return user != nil
}
// user/user.go
package user
import "project/auth"
type User struct {
ID int
Name string
}
func CreateUser(name string) *User {
if !auth.CheckPermission("admin") {