Курс на Stepik
Обложка курса «Основы Go» на Stepik
2 499 ₽

Основы Go ★ 4.000

Открыть на
STEPIK.ORG

Go — язык от Google для быстрого, простого и надежного кода. Освойте основы, структуры, интерфейсы и конкурентность на практике по книге «Основы Go». Начните писать программы, которые работают везде и всегда!

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Основы Go»Учеников на курсе 127
Сертификаты, выданные на курсе «Основы Go»Сертификатов выдано 9
Отзывы о курсе «Основы Go»Отзывов получено 2
Рейтинг курса «Основы Go»Рейтинг курса 4.000
Уроки в курсе «Основы Go»Количество уроков 176
Тесты в курсе «Основы Go»Количество квизов 204
Задачи с кодом в курсе «Основы Go»Количество задач с кодом 244
Время прохождения курса «Основы Go»Время прохождения курса —
Стоимость курса «Основы Go»Стоимость курса 2 499 ₽ —
Обновления курса «Основы Go»Обновления курса — —
Дата публикации курса «Основы Go»Дата публикации курса — ———
Последнее обновление курса «Основы Go»Последнее обновление — ———
Сложность easy — ———

Содержание курса

Разделы в курсе «Основы Go» 19 разделов Уроки в курсе «Основы Go» 176 уроков Тесты в курсе «Основы Go» 204 теста Задачи в курсе «Основы Go» 244 задачи Время прохождения курса «Основы Go» 34 ч. Последнее обновление курса «Основы Go» обн. 24 апреля 2026

Краткая история, встроенные типы данных и синтаксис Go

31 урок
1. Краткая история и основные особенности Go ↗
2. Установка и настройка рабочего окружения ↗
3. Объявление переменных ↗
4. Правила именования переменных ↗
5. Комментарии ↗
6. Расположение фигурных скобок имеет значение ↗
7. Типы данных Go ↗
8. Тесты на типы данных ↗
9. Константы ↗
10. Основные операторы Go ↗
11. Условные конструкции в Go ↗
12. Цикл for ↗
13. Безусловный переход ↗
14. Преобразование типов данных ↗
15. Ввод данных и форматирование вывода ↗
16. Работа со строками ↗
17. Задачи на строки ↗
18. Разбор задач на строки ↗
19. Работа с срезами ↗
20. Задачи на срезы ↗
21. Разбор задач на срезы ↗
22. Работа с таблицами/картами ↗
23. Задачи по таблицам / картам ↗
24. Разбор задач на таблицы ↗
25. Задачи на арифметические операции ↗
26. Разбор задач на арифметические операции ↗
27. Задачи на управляющие конструкции ↗
28. Разбор задач на управляющие конструкции ↗
29. Задачи на циклы ↗
30. Разбор задач на циклы ↗
31. Резюме по главе и вопросы для самопроверки ↗

Проект: Игра «Крестики-Нолики» v.0

2 урока
1. Разрабатываем игру ↗
2. Задания на самостоятельную проработку ↗

Функции

16 уроков
1. Немного про абстракцию и функции ↗
2. Варианты объявлений функции ↗
3. Способы передачи аргументов в функцию ↗
4. Псевдонимы типов (alias declarations) ↗
5. Область видимости переменных ↗
6. Обращение к функции через переменную ↗
7. Функция как входной аргумент другой функции ↗
8. Анонимные функции, замыкания и рекурсия ↗
9. Генераторные функции ↗
10. Отложенное выполнение функции ↗
11. Задачи на функции ↗
12. Разбор задач на функции ↗
13. Задачи на рекурсию ↗
14. Разбор задач на рекурсию ↗
15. Задачи на замыкания ↗
16. Разбор задач на замыкания ↗

Модули и пакеты

9 уроков
1. Создание и инициализация модуля ↗
2. Подключение стороннего модуля в проект ↗
3. Удаление неиспользуемых зависимостей ↗
4. Версионирование модулей в Go ↗
5. Каталог vendor ↗
6. Создание пакета ↗
7. Именование пакетов и нюансы их импортирования ↗
8. Создание и импортирование локального модуля ↗
9. Тесты по модулям и пакетам ↗

Тестирование

9 уроков
1. Введение ↗
2. Написание модульных тестов в Go ↗
3. Написание табличных (Table-Driven) тестов в Go ↗
4. Написание подтестов ↗
5. Тестовое покрытие кода ↗
6. Тестирование производительности ↗
7. Генерация ложных данных средствами Faker ↗
8. Резюме по главе и вопросы для самопроверки ↗
9. Тесты на закрепление пройденного материала ↗

Проект: Игра «Крестики-Нолики» v.1

2 урока
1. Рефакторинг ↗
2. Задания на самостоятельную проработку ↗

Объектно-ориентированное программирование в Go

23 урока
1. Введение ↗
2. Абстракция в ООП ↗
3. Тип данных Struct ↗
4. Задачи на структуры ↗
5. Разбор задач на структуры ↗
6. Объявление методов и принципы работы с ними ↗
7. Связывание метода и структуры данных ↗
8. Конструкторная функция ↗
9. Инкапсуляция и сокрытие в Go ↗
10. Задачи на методы структур ↗
11. Разбор задач на методы структур ↗
12. Композиция и переопределение методов ↗
13. Интерфейсы и полиморфизм времени исполнения ↗
14. Интерфейс как поле структуры ↗
15. Еще немножко магии интерфейсов ↗
16. Задачи на композицию, интерфейсы и переопределение ↗
17. Разбор задач на композицию, интерфейсы и переопределение ↗
18. Generics (Обобщения) ↗
19. Задачи на дженерики ↗
20. Разбор задач на дженерики ↗
21. Резюме по главе и вопросы для самопроверки ↗
22. Задачи на ООП ↗
23. Разбор задач на ООП ↗

Проект: Игра «Крестики-Нолики» v.2

2 урока
1. Рефакторинг ↗
2. Задания на самостоятельную проработку ↗

Обработка ошибок и паник в Go

13 уроков
1. Паника (panic) в Go ↗
2. Пользовательская паника ↗
3. Паника и отложенный вызов функции ↗
4. Обработка паники ↗
5. Обработка ошибок в Go ↗
6. Облегченные пользовательские ошибки ↗
7. Определение типа ошибки ↗
8. Расширенные пользовательские ошибки ↗
9. Вложенные ошибки ↗
10. Резюме по главе и вопросы для самопроверки ↗
11. Тесты к модулю ↗
12. Задачи на обработку ошибок и паник ↗
13. Разбор задач на обработку ошибок и паник ↗

Работа с файлами и директориями. Сборка приложения

11 уроков
1. Введение ↗
2. Работа с файлами ↗
3. Тесты по работе с файлами ↗
4. Работа с директориями ↗
5. Работа с JSON-файлами ↗
6. База данных на основе файла и однонаправленного списка ↗
7. Простая БД по типу «ключ:значение» в формате JSON ↗
8. Сборка и конфигурация запускаемого приложения ↗
9. Резюме по главе и вопросы для самопроверки ↗
10. Задачи на работу с JSON ↗
11. Разбор задач на работу с JSON ↗

Проект: Игра «Крестики-Нолики» v.3

1 урок
1. Сохранение и загрузка игровой сессии ↗

Проект: Игра «Крестики-Нолики» v.4. Рефакторинг и игра с компом

7 уроков
1. Введение ↗
2. Выделение функционала доски в пакет board ↗
3. Пакет player. Человек vs Компьютер ↗
4. Сохранение и загрузка игровой сессии ↗
5. Расширяем функционал пакета game ↗
6. Рефакторинг пакета main ↗
7. Задания на самостоятельную проработку ↗

Работа с СУБД SQLite

10 уроков
1. Введение ↗
2. Разработка «ToDo-list» средствами модуля go-sqlite3 ↗
3. Задачи на работу с SQLite (в ручном режиме) ↗
4. Разбор задач на работу с SQLite в ручном режиме ↗
5. Разработка «ToDo-list» средствами модуля gorm ↗
6. Задачи на работу с SQLite (GORM) ↗
7. Разбор задач на работу с SQLite (GORM) ↗
8. Транзакции ↗
9. Режим DryRun модуля gorm ↗
10. Резюме по главе и вопросы для самопроверки ↗

Проект: Игра «Крестики-Нолики» v.5

6 уроков
1. Введение ↗
2. Рефакторинг пакета model ↗
3. Проектирование пакета database ↗
4. Рефакторинг пакета game ↗
5. Переработка функционала главного меню пакета main ↗
6. Задания на самостоятельную проработку ↗

Конкурентность в Go

13 уроков
1. Разница между процессом, потоком и горутинной ↗
2. Разница между конкурентным и параллельным выполнением кода ↗
3. Создание горутины ↗
4. Ожидание завершения горутин ↗
5. Каналы ↗
6. Состояние гонки ↗
7. Мьютексы ↗
8. Атомарные операции ↗
9. Переменная среды выполнения GOMAXPROCS ↗
10. Паттерны (шаблоны) конкурентного программирования ↗
11. Резюме по главе и вопросы для самопроверки ↗
12. Задачи на работу с горутинами ↗
13. Разбор задач на работу с горутинами ↗

Проект: Игра «Крестики-Нолики» v.6

5 уроков
1. Введение ↗
2. Параллельная стратегий хода компьютера на высокой сложности ↗
3. Распараллеливание проверки выигрышных комбинаций ↗
4. Обращение к БД через горутины ↗
5. Задание на доработку проекта ↗

Сетевое программирование

6 уроков
1. Введение ↗
2. Пример клиента и сервера без установления соединения ↗
3. Пример клиента и сервера с установлением соединения ↗
4. Пример реализации TCP-чата ↗
5. Пример реализации REST API web-сервиса ↗
6. Резюме по главе и вопросы для самопроверки ↗

Проект: Игра «Крестики-Нолики» v.7

9 уроков
1. Введение ↗
2. Рефакторинг слоя работы с данными ↗
3. Рефакторинг пакета player ↗
4. Разработка протокола взаимодействия клиента и сервера ↗
5. Разработка функционала игровой комнаты ↗
6. Разработка серверной части ↗
7. Разработка клиентской части ↗
8. Запуск игры ↗
9. Задание на доработку проекта ↗

Заключение

1 урок
1. Заключение ↗