Здесь есть несколько проблем:
Вы не можете вызвать метод для пустого интерфейса (interface{}
), потому что пустой интерфейс не имеет методов, определенных.
Вы можетене ссылаться на поля через тип интерфейса, только методы.
Вам необходимо определить, какое поведение должно иметь значение, установленное в качестве значения user
, и определить интерфейс, отражающий это.Например, если единственное, что вам нужно, чтобы пользователь мог сделать, это предоставить пароль, интерфейс будет
type User interface {
Password() string
}
Тогда ваша структура будет
type userResp struct {
user User
}
Вы бызатем верните пароль следующим образом:
return ur.user.Password()
Для любых типов, которые вы хотите сохранить в поле user
, должен быть определен метод Password
, чтобы они удовлетворяли интерфейсу User