В Go отсутствует традиционная объектно-ориентированная модель с глубокой иерархией наследования классов. Вместо этого используются:
Структуры (Structs): Определяют поля данных, аналогично классам без методов.
go
Методы: Функции, привязанные к определенной структуре. Они определяются отдельно от структуры.
go
(p Person)) работают с копией структуры.(p *Person)) работают с оригиналом структуры, позволяя изменять ее поля.Интерфейсы: Наборы сигнатур методов. Типы, реализующие все методы интерфейса, неявно удовлетворяют этому интерфейсу. Это основа полиморфизма в Go.
go
Композиция (Встраивание): Вместо наследования, одна структура может встраивать другую структуру, получая доступ к ее полям и методам.
go
Встроенные поля и методы доступны напрямую:
go
Таким образом, объектно-ориентированная модель в Go построена на композиции структур и поведении, определяемом интерфейсами, а не на классической иерархии наследования классов.