Avatar ·

Erro "Import cycle not allowed" em Go: como corrigir importação cíclica de pacotes

Olá a todos! Comecei a estudar Go e já me deparei com um problema que não consigo resolver sozinho. Tenho dois pacotes: `auth` e `user`. No pacote `auth`, quero usar a função `GetUserByID` do pacote `user` para verificar se o usuário existe. E no pacote `user`, preciso chamar a função `CheckPermission` do pacote `auth` para verificar permissões de acesso ao criar um novo usuário. Aqui estão meus arquivos: // 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 { // ... } Quando tento compilar, o Go retorna o erro: "import cycle not allowed". Eu entendo que...