Назад к вопросам
Avito
Купер
Газпромбанк
Junior — Middle
89
Каким образом в языке Go реализована концепция объектно-ориентированного программирования?
Компании, где спрашивали
Betera Group
Российский центр оборота прав
BWG
Ответ от нейросети
sobes.tech AI
В Go нет классической объектно-ориентированной модели с наследованием и классами, но язык поддерживает ООП-концепции через:
- Структуры (structs) — пользовательские типы данных, которые могут содержать поля.
- Методы — функции, связанные с типами (в том числе со структурами), что позволяет реализовать поведение объектов.
- Интерфейсы (interfaces) — описывают набор методов, которые должен реализовать тип, что обеспечивает полиморфизм.
Пример:
package main
import "fmt"
type Animal interface {
Speak() string
}
type Dog struct {}
func (d Dog) Speak() string {
return "Woof!"
}
type Cat struct {}
func (c Cat) Speak() string {
return "Meow!"
}
func main() {
animals := []Animal{Dog{}, Cat{}}
for _, a := range animals {
fmt.Println(a.Speak())
}
}
Таким образом, Go реализует ООП через композицию и интерфейсы, а не через наследование.