Доброго времени суток.
Есть код:
type Repo interface {
Create(data interface{}) interface{}
}
type Service struct {
Repository *Repo
}
type User struct {
Name string
}
func (r *Service) Do(user User) {
r.Repository.Create(user)
}
Так вот, в методе:
func (r *Service) Do(user User) {
r.Repository.Create(user)
}
r.Repository не видит методов интерфейса:
Но если в структуре указать интерфейс не по указателю:
type Service struct {
Repository Repo
}
То методы интерфейса становятся видны:
Я определяю интерфейс и хочу чтобы реализующие данный интерфейс структуры могли быть переданы по ссылке.