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