Go Полный курс по Go GoLang
О чём курс
О чём курс
Богдан Стащук разбирает программирование на языке 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)
Теги курса
Другие материалы автора 12
BS Bogdan Stashchuk Все материалыОтзывов пока нет. Будьте первым!
Этот курс сейчас в процессе организации складчины. Нажмите кнопку «Записаться» и ожидайте старта — вам придёт уведомление. Когда складчина стартует, в карточке курса будет указан актуальный взнос. Текущая цена пока в процессе формирования и может отличаться от финальной.
Да, мы стремимся, чтобы финальный взнос был не больше ≈10% от оригинальной цены курса. Чем больше участников записывается в складчину, тем ниже выходит взнос для каждого.
Нажмите кнопку «Записаться» и авторизуйтесь на сайте через email (через ту же почту, которую будете использовать для входа). В личном кабинете вас будут ждать инструкции, как пригласить других участников — чем больше людей записалось, тем быстрее стартует складчина и тем ниже взнос. Как только складчина готова к приобретению, вам придёт уведомление.