Go nema naslijeđivanja — umjesto toga koristi kompoziciju kroz struct embedding. Ugniježđivanjem jedne strukture (ili sučelja) u drugu, vanjski tip dobiva polja i metode unutarnjeg tipa direktno. Ovo je Gojin odgovor na ponovno korištenje koda, favorizirajući "has-a" kompoziciju umjesto "is-a" naslijeđivanja.
Ugniježđivanje strukture
Animal {
Name
}
Eat() {
a.Name +
}
Dog {
Animal
Breed
}
d := Dog{
Animal: Animal{Name: },
Breed: ,
}
fmt.Println(d.Name)
fmt.Println(d.Eat())
