Никак. В Go нет наследования. Вместо него — композиция через встраивание (embedding). Встраиваешь структуру в другую — получаешь доступ к её полям и методам:
type Animal struct { Name string }
func (a Animal) Speak() string { return a.Name }
type Dog struct {
Animal // embedding
Breed string
}
d := Dog{Animal{"Rex"}, "Husky"}
d.Speak() // промоутится от Animal
Но это не наследование: нет полиморфизма через базовый тип, нет переопределения методов в классическом смысле. Полиморфизм в Go — через интерфейсы.