Go non ha ereditarietà — utilizza invece composition tramite embedding di struct. Incorporando uno struct (o un'interfaccia) dentro un altro, il tipo esterno acquisisce i campi e i metodi del tipo interno direttamente. Questa è la risposta di Go al riuso del codice, favorendo la composizione "has-a" rispetto all'ereditarietà "is-a".
Embedding di uno struct
Animal {
Name
}
Eat() {
a.Name +
}
Dog {
Animal
Breed
}
d := Dog{
Animal: Animal{Name: },
Breed: ,
}
fmt.Println(d.Name)
fmt.Println(d.Eat())
