A Go-ban nincs öröklődés — helyette a composition szerveződik struct beágyazáson keresztül. Egy struct (vagy interface) beágyazásával egy másikba, a külső típus közvetlenül megkapja a belső típus mezőit és metódusait. Ez a Go válasza a kód újrafelhasználására, a "has-a" compositiont előnyben részesítve a "is-a" öröklődéssel szemben.
Struct beágyazása
Animal {
Name
}
Eat() {
a.Name +
}
Dog {
Animal
Breed
}
d := Dog{
Animal: Animal{Name: },
Breed: ,
}
fmt.Println(d.Name)
fmt.Println(d.Eat())
