Avatar ·

Error "Import cycle not allowed" en Go: cómo corregir la importación cíclica de paquetes

¡Hola a todos! Acabo de empezar a aprender Go y ya me encontré con un problema que no puedo resolver por mi cuenta. Tengo dos paquetes: `auth` y `user`. En el paquete `auth`, quiero usar la función `GetUserByID` del paquete `user` para verificar si un usuario existe. Y en el paquete `user`, necesito llamar a la función `CheckPermission` del paquete `auth` para verificar los permisos al crear un nuevo usuario. Así es como se ven mis archivos: // 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") { return nil } return &User{ID: 1, Name: name} } func GetUserByID(id int) *User { // ... } Cuando intento compilar, Go muestra el error: "import cycle not allowed". Entiendo que es