Тренажёр Go: конкурентность и stdlib

Решите 48 задач на Go, где горутины, каналы и context работают как в сервисе: конвейеры, пул воркеров с остановкой на первой ошибке, дерево отмены, обёртки ошибок и generics. На ревью такой код чаще всего ломается на гонках и забытой отмене. Каждая программа проверяется на 9–12 тестах. Тренажёр бесплатный, ставить Go не нужно.

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

Как это работает

Это тренажёр, теории здесь нет. Он продолжает «Тренажёр Go: основы языка»: тот заканчивается первыми горутинами, этот начинается с них.

Программа читает stdin и печатает ответ в stdout. Ответ сверяется с эталоном **на 9–12 тестах**, поэтому порядок горутин не должен влиять на вывод. Так задачи учат писать конкурентный код, который даёт предсказуемый результат.

Разрешена только стандартная библиотека Go. Ставить ничего не нужно, код пишется и запускается в браузере.

Системная теория есть в курсе «Golang для продвинутых», а сюда возвращайтесь набивать руку.

Вы также можете задать любой вопрос по курсу у поддержки t.me/mentorix_support

Кому подойдёт

Тем, кто прошёл основы Go и теперь пишет сервисы, где горутин больше одной.

Бэкенд-разработчикам перед собеседованием на middle: каналы, context и обработку ошибок спрашивают почти всегда.

Тем, кто переходит в Go с другого языка и хочет освоить идиомы конкурентности на практике.

Что нужно знать

Синтаксис Go: срезы, мапы, структуры, методы. Если нет, начните с «Тренажёра Go: основы языка».

Что такое горутина и канал. Остальное осваивается по ходу: задачи идут от простых к сложным.

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

Модулей: 4, уроков: 8. Задачи с кодом проверяются автоматически.

  1. Горутины и каналы

  2. Синхронизация

  3. Context и ошибки

  4. Обобщения и stdlib

Бесплатный курс

Открыть курс на Mentorix · Все курсы