Практический маршрут по Go
От первой строки
к уверенной разработке
Двигайтесь небольшими шагами: изучайте идею, применяйте её в упражнении и проверяйте результат по конкретным критериям.
Карта обучения
Пять этапов, один понятный путь
Уроки идут в рекомендуемом порядке. Каждый следующий этап опирается на навыки, освоенные раньше.
01 · ОСНОВЫ
Первые программы
Синтаксис, ветвления, циклы и простые структуры данных.
- УРОК 0125 мин
Переменные и вывод
Объявляем значения, выбираем типы и выводим полезные данные.
Открыть урокПосле урока вы сможете
- Объявлять переменные разными способами
- Подбирать типы для строк, чисел и символов
- УРОК 0235 мин
Условия и циклы
Выбираем ветку выполнения и повторяем операции для каждого элемента.
Открыть урокПосле урока вы сможете
- Строить if/else без лишних условий
- Повторять вычисления циклом
02 · ИНСТРУМЕНТЫ
Функции и коллекции
Разбиваем задачи на функции и обрабатываем наборы данных.
- УРОК 0335 мин
Функции и результаты
Выделяем повторяемые действия в функции с понятными входами и выходами.
Открыть урокПосле урока вы сможете
- Передавать аргументы
- Возвращать результаты
- УРОК 0440 мин
Массивы и срезы
Храним упорядоченные значения и безопасно добавляем новые элементы.
Открыть урокПосле урока вы сможете
- Различать массив и срез
- Перебирать элементы
- УРОК 0530 мин
Карты и поиск по ключу
Представляем словарь данных с быстрым доступом по ключу.
Открыть урокПосле урока вы сможете
- Создавать map с ключом и значением
- Проверять наличие ключа
03 · ПРОЕКТИРОВАНИЕ
Типы и надёжность
Моделируем предметную область, интерфейсы и ошибки.
- УРОК 0640 мин
Структуры и методы
Собираем связанные поля в собственный тип и описываем его поведение.
Открыть урокПосле урока вы сможете
- Описывать struct
- Создавать значения типа
- УРОК 0745 мин
Интерфейсы и композиция
Описываем возможности типов и передаём разные реализации одной функции.
Открыть урокПосле урока вы сможете
- Определять интерфейс по нужным методам
- Реализовывать интерфейс неявно
- УРОК 0845 мин
Ошибки и проверка входа
Возвращаем ошибки вызывающему коду и тестируем корректные и неверные данные.
Открыть урокПосле урока вы сможете
- Сигнализировать об ошибке через возвращаемое значение
- Проверять формат и диапазоны
04 · ИНЖЕНЕРИЯ
Параллельность и качество
Координируем работу горутин и проверяем поведение тестами.
- УРОК 0950 мин
Горутины и каналы
Запускаем независимые вычисления и собираем результаты через канал.
Открыть урокПосле урока вы сможете
- Запускать функцию в goroutine
- Передавать результат по каналу
- УРОК 1050 мин
Синхронизация и тесты
Согласуем конкурентную работу и закрепляем поведение автоматическими проверками.
Открыть урокПосле урока вы сможете
- Дожидаться завершения групп задач
- Считать слова конкурентно
05 · ПРАКТИКА
Проекты и производительность
Применяем язык к реальным приложениям и измеряем результат.
- УРОК 1160 мин
Проект: отчёт расходов из CSV
Параллельно анализируем выгрузки, проверяем строки и сравниваем расходы по файлам.
Открыть урокПосле урока вы сможете
- Читать записи CSV
- Проверять формат и значения каждой строки
- УРОК 1290 мин
Проект: JSON API событий
Строим каталог событий и измеряем задержку чтения при росте набора данных.
Открыть урокПосле урока вы сможете
- Возвращать типизированный JSON через HTTP
- Измерять время чтения каталога