Go Полный курс по Go GoLang

4 участника

О чём курс

О чём курс

Богдан Стащук разбирает программирование на языке Go от базового синтаксиса до архитектуры конкурентных программ. Обучение начинается с настройки Visual Studio Code и компиляции первой программы, а продолжается разбором структур данных, интерфейсов и параллельного выполнения кода.

Материал построен по принципу перехода от простого к сложному. Каждая тема сопровождается разбором реальных примеров кода, решением практических задач и выполнением упражнений. К завершению программы слушатели получают готовые шаблоны решений, применимые в собственных проектах.

Что внутри

В программе детально рассматриваются ключевые элементы разработки на Go:

  • установка компилятора, организация рабочего окружения и форматирование исходного кода по принятым стандартам;
  • переменные, статическая и строгая типизация, константы, создание функций со множественными возвращаемыми значениями и замыкания;
  • синтаксис указателей, массивы, динамические срезы, условные конструкции if и switch, а также циклы for и for range;
  • хеш-таблицы map и структуры struct, особенности их применения и отличия передачи данных по значению и по ссылке;
  • проектирование и реализация интерфейсов, работа с пустым универсальным интерфейсом и реализация интерфейса Stringer;
  • стратегии обработки ошибок в рантайме, отложенные вызовы, механизмы panic и recover, проектирование пользовательских типов ошибок;
  • создание конкурентных приложений с помощью горутин, синхронизация потоков через каналы и группы ожидания.

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

Курс рассчитан на слушателей без предварительного опыта в программировании, желающих освоить язык Go с самых азов. Для старта достаточно уверенного владения компьютером на уровне пользователя: навыков установки программного обеспечения и навигации по файловой системе.

Формат материалов

Обучение включает 16 тематических модулей с видеоуроками, практическими заданиями и готовыми файлами проектов для каждого шага.

Программа обучения

Модуль 1. Введение в курс по Go (4 лекции, 4 минуты)

  • Добро пожаловать на курс по Go (2:30)
  • Присоединяйтесь к сообществу единомышленников (0:29)
  • Как использовать файлы проектов (1:06)
  • Важно — скачайте файлы проектов для курса (0:07) Модуль 2. Инсталляция Go и команды Go (5 лекций, 13 минут)
  • Введение (0:26)
  • Инсталляция Go (3:17)
  • Команды Go (3:07)
  • Установка редактора кода Visual Studio Code (1:30)
  • Настройка редактора кода для Go (4:21) Модуль 3. Основы Go (8 лекций, 1 час 2 минуты)
  • Введение (0:50)
  • Функция main и пакет main (10:37)
  • Пакет fmt и функция Println (10:57)
  • Компиляция программ Go (5:35)
  • Форматирование кода Go (6:49)
  • Внешние пакеты для приложений Go (5:10)
  • Создание модуля и использование внешних пакетов (16:19)
  • Подведение итогов по первой программе на Go (5:36) Модуль 4. Переменные и базовые типы (14 лекций, 1 час 43 минуты)
  • Введение (0:39)
  • Подготовка к обсуждению переменных в Go (1:45)
  • Объявление и присвоение значений переменным (12:11)
  • Добавление другого файла с функцией main (2:07)
  • Устранение ошибки, связанной с несколькими функциями main (3:44)
  • Разные варианты объявления переменных (16:35)
  • Использование Printf для форматирования строк (20:19)
  • Определение типа переменных (12:28)
  • Присвоение новых значений переменным (3:38)
  • Статическая типизация в Go (4:36)
  • Отдельное объявление переменных (4:08)
  • Значения по умолчанию для переменных (4:41)
  • Строгая типизация в Go (10:33)
  • Объявление нескольких переменных на одной строке (5:27) Модуль 5. Константы (5 лекций, 49 минут)
  • Введение (0:36)
  • Константы в Go (7:17)
  • Константы и адаптация типа (12:57)
  • Группирование переменных и констант (17:14)
  • Подведение итогов по переменным в Go (11:23) Модуль 6. Функции (12 лекций, 2 часа 36 минут)
  • Введение (1:35)
  • Подготовка к обсуждению функций в Go (1:27)
  • Создание и вызов функций (9:41)
  • Параметры и аргументы функций (13:17)
  • Несколько параметров в функциях (9:44)
  • Возврат значения из функции (16:39)
  • Использование результата одной функции в вызове другой функции (8:42)
  • Возврат нескольких значений из функции (20:30)
  • Имена для возвращаемых значений (13:44)
  • Именованные функциональные литералы (13:27)
  • Замыкания в функциях (33:20)
  • Подведение итогов по функциям в Go (13:42) Модуль 7. Указатели (6 лекций, 1 час 34 минуты)
  • Введение (0:51)
  • Использование указателей для получения адресов в памяти (22:10)
  • Изменение значений в памяти с помощью указателей (28:24)
  • Функции без использования указателей (11:45)
  • Функции с использованием указателей (21:14)
  • Подведение итогов по указателям в Go (9:20) Модуль 8. Массивы и slices (11 лекций, 2 часа 41 минута)
  • Введение (1:26)
  • Создание массивов (14:40)
  • Присвоение массива и функция len (12:41)
  • Создание slice из массива (12:54)
  • Связь между массивом и slice (8:43)
  • Варианты создания slice (9:56)
  • Добавление элементов в slice и функция cap (40:03)
  • Превышение максимально допустимого размера в slice (14:48)
  • Удаление элементов из slice (22:03)
  • Перебор элементов с помощью цикла for (9:22)
  • Подведение итогов по массивам и slice (13:55) Модуль 9. Условные инструкции if и switch (7 лекций, 1 час 7 минут)
  • Введение (0:50)
  • Условная инструкция if (6:34)
  • Условная инструкция if else (4:45)
  • Условная инструкция if else if (17:32)
  • Вложенные if и объединение условий (11:43)
  • Использование инициализаторов в if (13:23)
  • Инструкция switch (11:46) Модуль 10. Циклы for и for range (7 лекций, 1 час 17 минут)
  • Введение (0:37)
  • Цикл for со счетчиком (12:32)
  • Цикл for с условием (5:45)
  • Бесконечный цикл с break и continue (22:06)
  • Цикл for range (18:51)
  • Использование break и continue в цикле for range (9:06)
  • Подведение итогов по использованию if, switch и for (8:27) Модуль 11. Тип map (9 лекций, 1 час 46 минут)
  • Введение (1:29)
  • Создание и базовые действия с map (18:03)
  • Проверка наличия ключа в map (9:42)
  • Удаление ключей с значениями из map (8:04)
  • Итерация по map (5:10)
  • Что такое nil (10:49)
  • Использование функции make для создания map (8:58)
  • Передача map в функцию (34:26)
  • Подведение итогов по использованию map (9:08) Модуль 12. Тип struct (10 лекций, 2 часа 11 минут)
  • Введение (1:26)
  • Введение в тип struct (19:16)
  • Использование struct literal (8:48)
  • Передача struct в функцию в виде копии значения (14:32)
  • Передача struct в функцию в виде указателя (17:45)
  • Поля в struct типа func (16:07)
  • Методы для struct (16:28)
  • Методы для других типов (7:54)
  • Отличия struct и map (18:28)
  • Подведение итогов по struct (9:54) Модуль 13. Интерфейсы (12 лекций, 3 часа 45 минут)
  • Введение (0:51)
  • Что такое интерфейс на примере кофейни (9:24)
  • Базовая реализация интерфейса (29:47)
  • Несколько реализаций интерфейса (32:06)
  • Тип интерфейс как тип параметра функции (29:21)
  • Реализация встроенного интерфейса Stringer (16:35)
  • Задача для представления типа slice в виде строки (21:12)
  • Задача для реализации интерфейса в типе struct (10:06)
  • Реализация нескольких интерфейсов (18:55)
  • Создание slice типа интерфейс (15:43)
  • Использование пустого универсального интерфейса (17:26)
  • Подведение итогов по интерфейсам (23:49) Модуль 14. Ошибки (12 лекций, 2 часа 30 минут)
  • Введение (0:56)
  • Ошибки на этапе выполнения программы (12:34)
  • Предотвращение ошибки деления на ноль (5:45)
  • Отложенный вызов именованных функций (5:40)
  • Отложенный вызов анонимных функций (10:23)
  • Восстановление после ошибок в отложенной функции (20:55)
  • Получение ошибки из функции (13:54)
  • Создание ошибки типа error (10:42)
  • Реализация интерфейса error и вызов panic (16:35)
  • Формирование и возврат ошибки из функции (25:35)
  • Создание ошибки используя функцию New из пакета errors (12:38)
  • Подведение итогов по работе с ошибками (14:05) Модуль 15. Goroutines и параллельное выполнение (9 лекций, 2 часа 3 минуты)
  • Введение (0:40)
  • Введение в одновременное выполнение частей программы (9:06)
  • Что такое main goroutine (9:41)
  • Создание goroutine (13:34)
  • Несколько goroutines (12:15)
  • Использование групп ожидания (25:15)
  • Использование каналов между goroutines (22:40)
  • Один канал для нескольких goroutines (19:03)
  • Подведение итогов по goroutines (11:03) Модуль 16. Завершение (1 лекция, 1 минута)
  • Завершение (0:55)
Складчина создана 8 июля 2026 г. · описание обновлено 25 октября 2026 г.

Теги курса

Инструменты

Другие материалы автора 12

BS Bogdan Stashchuk Все материалы
1 130 ₽