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