Вопрос на собеседовании обычно звучит так: расскажи про ООП в Go Рассказываю: Go реализует парадигмы ООП немного иначе, чем классические ООП языки. Разберём каждый принцип на простых примерах из жизни и на примерах кода на Go. Инкапсуляция (мой любимый пример) Представьте наручные часы. У часов есть стрелки, циферблат и, возможно, дата. Мы можем взять их, посмотреть время или установить будильник. Внутри часов скрыто множество сложных механизмов и деталей, которые обеспечивают правильную работу часов. Эти механизмы и детали инкапсулированы внутри корпуса часов. Мы не знаем, как они работают, и нам это, в общем-то, и не нужно. Главное, что часы показывают правильное время. Все сложности и детали работы часов скрыты от нас, а мы взаимодействуем только с предоставляемым интерфейсом - стрелками, кнопками. Как инкапсуляция релизуется в Go: Мы создаем структуры, которые скрывают внутренние детали и механизмы, предоставляя пользователю только необходимый и безопасный интерфейс для взаимодей