Когда я использую echo и gorm для веб-приложения, я обнаружил, что это будет цикл импорта во многих при разработке модели отношений.
Например, есть пользователь и язык двапакет.Их много ко многим, потому что один пользователь может говорить на нескольких языках, а несколько пользователей могут говорить на одном языке.Пакет включает определение модели и некоторую функцию-обработчик.
user.go
type User struct {
gorm.Model
Languages []language.Language `gorm:"many2many:user_languages;"`
}
language.go
type Language struct {
gorm.Model
Name string
Users []user.User `gorm:"many2many:user_languages;"`
}
Пакет пользователя будет импортировать язык и языкПакет импортирует пользователя, поэтому происходит цикл импорта.