Go har ingen arv — i stedet bruker det komposisjon via struct embedding. Ved å legge inn en struct (eller interface) inni en annen, får den ytre typen feltene og metodene fra den indre typen direkte. Dette er Gos svar på kodegjenbruk, som favoriserer "har-en"-komposisjon fremfor "er-en"-arv.
Embedding av en struct
Animal {
Name
}
Eat() {
a.Name +
}
Dog {
Animal
Breed
}
d := Dog{
Animal: Animal{Name: },
Breed: ,
}
fmt.Println(d.Name)
fmt.Println(d.Eat())
