В Go нет классов и наследования — и это не баг, а особенность — 21 июня 2026 г. в 10:05:16.603
В Go нет классов и наследования — и это не баг, а особенность Если вы только начинаете Go после Java или Python, первым делом удивит отсутствие классов. Вместо них структуры: обычный набор полей, к которому методы «прикрепляются» отдельно. Конструкторов тоже нет, поэтому обычно пишут вспомогательную функцию вроде NewOrder. Главная ловушка для новичка: приёмник метода. \(o Order\) передаёт копию, а \(o \*Order\) передаёт указатель и может менять оригинал. Если метод вроде MarkPaid не меняет статус, проверьте, не забыли ли звёздочку. Наследования нет, поэтому «расширить» Order до PremiumOrder через extends не получится. Это заставляет думать не в категориях «родитель и ребёнок», а в категориях «данные + поведение». В статье автор разбирает, чем в Go заменяет наследование, и почему серьёзные проекты на этом строятся.

