TGViewer
Точка входа в программирование Точка входа в программирование @prog_point · 18K subscribers
Post #4962 1.01K
В Go нет классов и наследования — и это не баг, а особенность

Если вы только начинаете Go после Java или Python, первым делом удивит отсутствие классов. Вместо них структуры: обычный набор полей, к которому методы «прикрепляются» отдельно. Конструкторов тоже нет, поэтому обычно пишут вспомогательную функцию вроде NewOrder.

Главная ловушка для новичка: приёмник метода. (o Order) передаёт копию, а (o *Order) передаёт указатель и может менять оригинал. Если метод вроде MarkPaid не меняет статус, проверьте, не забыли ли звёздочку.

Наследования нет, поэтому «расширить» Order до PremiumOrder через extends не получится. Это заставляет думать не в категориях «родитель и ребёнок», а в категориях «данные + поведение». В статье автор разбирает, чем в Go заменяет наследование, и почему серьёзные проекты на этом строятся.
  • ✍ 6
More from @prog_point
  1. Oct 8, 2026Практика HTML и CSS: карточка товара и адаптивная галерея Соберите карточку с изображением…
  2. Oct 8, 2026Как начать отладку Python-кода в PyCharm Вместо очередного print() можно приостановить про…
  3. Oct 7, 2026Меньше работы для браузера: content-visibility на длинных страницах Карточки далеко за пре…
  4. Oct 7, 2026Как собрать счётчик слов на HTML, CSS и JavaScript Сделайте страницу, которая пересчитывае…
  5. Oct 6, 2026Собираем счётчик кликов на JavaScript Счётчик с одной кнопкой помогает увидеть базовый цик…
  6. Oct 6, 2026Соберите кнопку и карточку с CSS-градиентами Начните с двух небольших элементов: задайте к…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →