Η Go δεν έχει κληρονομικότητα — αντ 'αυτού χρησιμοποιεί composition μέσω struct embedding. Ενσωματώνοντας μια struct (ή interface) μέσα σε μια άλλη, ο εξωτερικός τύπος αποκτά τα πεδία και τις μεθόδους του εσωτερικού τύπου απευθείας. Αυτή είναι η απάντηση της Go στην επαναχρησιμοποίηση κώδικα, προτιμώντας "has-a" composition έναντι "is-a" κληρονομικότητας.
Ενσωμάτωση μιας struct
Animal {
Name
}
Eat() {
a.Name +
}
Dog {
Animal
Breed
}
d := Dog{
Animal: Animal{Name: },
Breed: ,
}
fmt.Println(d.Name)
fmt.Println(d.Eat())
