Go n'a pas d'héritage — à la place, il utilise la composition via l'imbrication de struct. En imbriquant un struct (ou une interface) à l'intérieur d'un autre, le type externe gagne directement les champs et méthodes du type interne. C'est la réponse de Go à la réutilisation de code, favorisant la composition « has-a » plutôt que l'héritage « is-a ».
Imbrication d'un struct
Animal {
Name
}
Eat() {
a.Name +
}
Dog {
Animal
Breed
}
d := Dog{
Animal: Animal{Name: },
Breed: ,
}
fmt.Println(d.Name)
fmt.Println(d.Eat())
