Назад к вопросам
Junior — Middle
71
Как реализовать вызов метода базового класса из встроенного компонента или структуры?
Ответ от нейросети
sobes.tech AI
В Go встроенные структуры (embedding) позволяют включать один тип в другой, что даёт возможность использовать методы встроенного типа напрямую. Чтобы вызвать метод базового (встроенного) типа, можно обратиться к нему через имя поля.
Пример:
package main
import "fmt"
type Base struct{}
func (b Base) Hello() {
fmt.Println("Hello from Base")
}
type Derived struct {
Base
}
func (d Derived) Hello() {
fmt.Println("Hello from Derived")
// Вызов метода базового типа
d.Base.Hello()
}
func main() {
d := Derived{}
d.Hello()
}
В этом примере метод Hello структуры Derived вызывает метод Hello встроенной структуры Base через d.Base.Hello(). Таким образом, можно явно вызвать метод базового класса из встроенного компонента.