Go: идиоматичный код — интерфейсы, методы, ошибки, дженерики

Превратите «пишу на Go» в «пишу как гофер»: методы, интерфейсы, идиоматичные ошибки и дженерики 1.18+. 111 задач с автопроверкой в браузере на Go 1.26 и капстоун — дженерик-репозиторий Store[T] для интернет-магазина shopdb в портфолио. Дешёвый вход в платную линейку: первая зелёная галочка — уже в первом модуле про…

Чему вы научитесь

  • Писать методы и осознанно выбирать receiver (value или pointer) под задачу
  • Понимать наборы методов (method set) и адресуемость — и почему это решает, удовлетворяет ли тип интерфейсу
  • Объявлять методы на любых именованных типах (Money, Status, slice-типы) для доменной типизации
  • Проектировать и использовать интерфейсы по-гошному: неявная реализация, «принимай интерфейсы, возвращай структуры», композиция маленьких интерфейсов
  • Работать с any, type assertion и type switch — безопасно, через v, ok
  • Реализовывать stdlib-интерфейсы (Stringer, sort.Interface) и встраиваться в экосистему языка
  • Не попадаться в ловушку nil-интерфейса против nil-значения (классический вопрос собеса)
  • Обрабатывать ошибки идиоматично: error-значения, обёртка %w, errors.Is/As, sentinel и типизированные ошибки, errors.Join, panic/recover
  • Писать дженерики 1.18+: параметры типов, constraints/comparable/~, Map/Filter/Reduce, дженерик-контейнеры (Stack, Set, Queue)
  • Собрать капстоун — дженерик-репозиторий Store[T] с типизированными ошибками — артефакт в портфолио

О курсе

«Идиоматичный код» — это мост от «я выучил синтаксис Go» к «я пишу как гофер». Один и тот же код можно написать «как на Java/Python», а можно — идиоматично: через методы, неявные интерфейсы, ошибки-значения и дженерики. Этот курс учит именно второму — на сквозном домене интернет-магазина shopdb, без воды и без повторения основ.

Для кого и зачем. Это платный трипвайр линейки: дешёвый вход в темы, которые идеально автопроверяются, поэтому «вау» от зелёных галочек приходит быстро. Главный акцент — дженерики 1.18+: на Stepik это дыра, и мы даём их полноценно отдельным модулем (параметры типов, constraints, ~-аппроксимация, Map/Filter/Reduce, дженерик-контейнеры, когда они НЕ нужны).

Как устроено. Практики больше, чем теории (интерактивных шагов 184 из 287, ~64 %, против 103 лекционных): 111 задач с автопроверкой прямо в браузере на движке Go 1.26 плюс интерактивные тесты. Преобладают completion-задачи — дана сигнатура метода/функции, нужно написать тело; лестница подсказок ведёт к решению, а готовый код открывается только после сдачи. Ошибки и интерфейсы проверяются по поведению (errors.Is/As, удовлетворение интерфейсу), а не по тексту — как в реальном коде.

Что вы соберёте. Финал — капстоун: дженерик-репозиторий Store[T Entity] для сущностей shopdb (методы + интерфейс Entity + типизированные ошибки ErrNotFound/ErrDuplicate + дженерики). Это законченный автопроверяемый артефакт, который не стыдно положить в портфолио.

Особенности курса:
— Опираемся на Курс 0, не повторяем его. Синтаксис, слайсы, мапы, структуры и функции считаем известными — сразу работаем с идиомами. Первая победа — уже в модуле про методы (метод Total() у товара).
— Проверка по поведению. Ошибки ловятся через errors.Is/errors.As, интерфейсы — через фактическое удовлетворение, дженерики — инстанцированием на нескольких типах. Это учит писать код, который проходит ревью, а не просто «совпадает по строке».
— Дженерики как дифференциатор. Полноценный модуль о том, чего на Stepik почти нет: типобезопасные утилиты и контейнеры без any и копипасты.
— Капстоун-артефакт и мост дальше. Store[T] в портфолио + CTA на Курс 2 «Конкурентность»: «твой Store[T] пока однопоточный — а что при 1000 заказов разом?».

Что нужно делать: читать короткие лекции с примерами на shopdb, проходить тесты на понимание, решать Go-задачи с автопроверкой, разбирать ошибки и собрать капстоун.

Для кого этот курс

Курс — для тех, кто уже знает основы Go и хочет писать идиоматично. — Прошедшие Курс 0 «Go с нуля» (или знающие синтаксис, типы, слайсы/мапы, структуры, функции): логичный следующий шаг. — Переходящие с других языков, кто уже освоил базовый Go и спотыкается об интерфейсы, ошибки и дженерики. — Junior-разработчики, готовящиеся к собесам: method set, nil-интерфейс, errors.Is/As, дженерики — частые вопросы. — Те, кому нужен компактный платный курс по дженерикам 1.18+ (на Stepik их почти нет). — Будущие backend-разработчики, которым важно писать код, проходящий ревью. Жизненные ситуации: вы прошли вводный курс и хотите «прокачаться» до идиоматики; готовитесь к собеседованию по Go; на работе встретили дженерики/обёртку ошибок и хотите разобраться системно; хотите собрать первый небольшой артефакт в портфолио.

Начальные требования

Нужны основы Go — то, что даёт бесплатный Курс 0 «Go с нуля».
— Синтаксис, переменные и базовые типы, if/switch, циклы.
— Слайсы, мапы, структуры, функции (включая замыкания) и указатели.
— Базовое понимание, что такое метод и интерфейс, — приветствуется, но не обязательно: вводим с нуля темы курса.

Ничего устанавливать не нужно — все задачи решаются и проверяются в браузере на движке Go 1.26. Если вы не проходили Курс 0, рекомендуем начать с него (он бесплатный).

Наши преподаватели

Как проходит обучение

Курс текстово-интерактивный и полностью проходится в браузере, в своём темпе и без дедлайнов.
— Короткие лекции с примерами на сквозном домене shopdb и разбором идиом и граблей (например, nil-интерфейс) — живым языком.
— Задачи на Go с автопроверкой (111) в браузере на движке Go 1.26: completion-формат (напиши тело метода/функции) с лестницей подсказок; решение открывается после сдачи. Ошибки и интерфейсы проверяются по поведению (errors.Is/As, удовлетворение интерфейсу).
— Интерактивные тесты к разделам: выбор ответа, сопоставление, заполнение пропусков, ввод числа.
— Практикумы в конце модулей и капстоун Store[T] с автопроверкой и эталонным разбором.
— Поддержка автора в комментариях под шагами.

Логика — от методов к интерфейсам, ошибкам и дженерикам, с ранней победой уже в первом модуле; в финале всё собирается в дженерик-репозиторий.

Программа курса

загружаем...

Что вы получаете

  • — Навык идиоматичного Go: методы, интерфейсы, ошибки-значения и дженерики 1.18+ — то, что отличает гофера от «пишущего на Go».
  • — Объём практики: 111 задач с автопроверкой и интерактивные тесты на одном понятном домене shopdb.
  • — Капстоун-артефакт: дженерик-репозиторий Store[T] с типизированными ошибками — в портфолио.
  • — Готовность к собесу: method set, nil-интерфейс, errors.Is/As, дженерики vs интерфейсы — разобраны на практике.
  • — Поддержку автора и обсуждения под шагами.
  • — Доступ в своём темпе: пересдавайте задания сколько нужно.
  • — Сертификат Stepik по итогам прохождения.

Сколько стоит обучение

Price: 490 
Вы попробовали и поняли, что вам сейчас не подходит этот курс? Ничего страшного, мы вернём вам деньги в течение 30-ти дней после покупки.

Часто задаваемые вопросы

Расскажите о курсе друзьям

Price: 490