Go tidak mempunyai inheritance — sebaliknya ia menggunakan composition melalui embedding struct. Dengan menanam satu struct (atau interface) di dalam struct lain, jenis luar mendapatkan field dan method jenis dalam secara langsung. Ini adalah jawaban Go untuk penggunaan semula kod, memilih komposisi "has-a" berbanding inheritance "is-a".
Embedding struct
Animal {
Name
}
Eat() {
a.Name +
}
Dog {
Animal
Breed
}
d := Dog{
Animal: Animal{Name: },
Breed: ,
}
fmt.Println(d.Name)
fmt.Println(d.Eat())
