Go không có kế thừa — thay vào đó nó dùng composition thông qua struct embedding. Bằng cách nhúng (embed) một struct (hoặc interface) bên trong một struct khác, kiểu bên ngoài có được các trường và method của kiểu bên trong một cách trực tiếp. Đây là câu trả lời của Go cho việc tái sử dụng code, ưa composition "has-a" hơn kế thừa "is-a".
Nhúng một struct
Animal {
Name
}
Eat() {
a.Name +
}
Dog {
Animal
Breed
}
d := Dog{
Animal: Animal{Name: },
Breed: ,
}
fmt.Println(d.Name)
fmt.Println(d.Eat())
