Чему вы научитесь
- Писать методы и осознанно выбирать 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 — то, что даёт бесплатный Курс 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 по итогам прохождения.