Go не имеет наследования — вместо этого он использует композицию через встраивание структур. Встраивая одну структуру (или интерфейс) внутрь другой, внешний тип получает поля и методы внутреннего типа напрямую. Это ответ Go на повторное использование кода, отдавая предпочтение композиции "has-a" вместо наследования "is-a".
Встраивание структуры
Animal {
Name
}
Eat() {
a.Name +
}
Dog {
Animal
Breed
}
d := Dog{
Animal: Animal{Name: },
Breed: ,
}
fmt.Println(d.Name)
fmt.Println(d.Eat())
