Интерфейс
type Jumping interface {
Jump()
}
Структура
type User struct {
Name string
Surname string
}
Метод самой структуры
func (user *User) Swim() { }
Имплементация метода интерфейса
func (user *User) Jump() { }
Функция, создающая новый экземпляр интерфейса Jumping
func newUser(name, surname string) *Jumping {
return &User{ name, surname }
}
Экземпляр интерфейса Jumping
jeniffer := newUser("Jeniffer", "Sullivan")
Теперь у jeniffer можно обращаться к методу Jump().
Как мне обратиться к методу Swim() у jeniffer ?
Вроде это осуществляется при помощи type assertion, если я ничего не путаю. Но как именно ?
Спасибо