Golla ei ole periytymistä — sen sijaan se käyttää koostumusta struct embeddingin kautta. Upottamalla yhden structin (tai interfacen) toisen sisälle, ulompi tyyppi saa sisemmän tyypin kentät ja metodit suoraan. Tämä on Gon vastaus koodin uudelleenkäyttöön, suosien "has-a" -koostumusta "is-a" -periytymisen sijaan.
Structin upottaminen
Animal {
Name
}
Eat() {
a.Name +
}
Dog {
Animal
Breed
}
d := Dog{
Animal: Animal{Name: },
Breed: ,
}
fmt.Println(d.Name)
fmt.Println(d.Eat())
