Встраивание (embedding) продвигает поля и методы вложенной структуры на уровень внешней: к ним можно обращаться напрямую через тип внешней структуры. Это композиция, не наследование: нет полиморфизма и override, нет иерархии типов.
type Engine struct { Power int }
func (e Engine) Start() { fmt.Println("start") }
type Car struct {
Engine // встраивание без имени поля
}
var c Car
c.Power = 100 // продвинутое поле
c.Start() // продвинутый метод
Если у двух встроенных типов есть одноимённые методы или поля, обращение без квалификатора не компилируется - нужно явно указать тип: c.Engine.Start(). Go следует принципу "composition over inheritance".