Go Полный курс по Go GoLang
О чём курс
Курс по языку программирования Go (Golang) представляет собой комплексную программу обучения, разработанную для тех, кто хочет освоить один из самых востребованных и современных языков в IT-индустрии. Go, созданный инженерами Google, завоевал популярность благодаря своей лаконичности, высокой производительности и встроенным механизмам для эффективной работы с многопоточностью. Данный курс построен по принципу «от простого к сложному», что делает его идеальным выбором как для новичков, не имеющих опыта программирования, так и для тех, кто хочет систематизировать свои знания и перейти к профессиональной разработке на Go.
Обучение начинается с фундаментальных основ: установки языка, настройки среды разработки в Visual Studio Code и написания первых программ. Вы научитесь правильно компилировать код, использовать пакеты и следовать лучшим практикам форматирования, принятым в сообществе Go. Постепенно программа углубляется в синтаксис языка, охватывая переменные, константы, базовые типы данных и функции. Особое внимание уделяется таким важным концепциям, как замыкания, именованные возвращаемые значения и работа с указателями, что критически важно для понимания управления памятью в Go.
В процессе обучения вы освоите работу со сложными структурами данных: массивами, срезами (slices), картами (maps) и структурами (structs). Вы научитесь различать значимые типы, использовать методы для структур и эффективно применять условные операторы и циклы для управления логикой приложений. Важной частью курса является изучение интерфейсов — ключевого инструмента Go, который обеспечивает гибкость и модульность кода. Вы узнаете, как реализовывать интерфейсы, работать с универсальными типами и создавать масштабируемые архитектуры.
Значительный блок программы посвящен обработке ошибок, что является «визитной карточкой» Go. Вы научитесь не просто реагировать на сбои, но и грамотно использовать механизмы panic и recover, а также создавать собственные типы ошибок для обеспечения надежности программ. Завершающий этап курса посвящен многопоточности — одной из самых сильных сторон Go. Вы изучите goroutines, каналы и группы ожидания, что позволит вам писать высокопроизводительные конкурентные приложения, способные эффективно использовать ресурсы современных процессоров.
Формат обучения включает в себя видеоуроки, сопровождаемые подробными пояснениями, практическими примерами и упражнениями. Такой подход позволяет не только усвоить теоретическую базу, но и сразу закрепить её на практике. По окончании курса вы получите не только глубокое понимание того, как работает язык «под капотом», но и набор готовых шаблонов и навыков, которые можно сразу применять в реальных проектах. Курс дает все необходимое для того, чтобы уверенно начать путь в разработке на Go, создавая надежные, масштабируемые и эффективные программные решения.
Программа обучения
Модуль 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 (через ту же почту, которую будете использовать для входа). В личном кабинете вас будут ждать инструкции, как пригласить других участников — чем больше людей записалось, тем быстрее стартует складчина и тем ниже взнос. Как только складчина готова к приобретению, вам придёт уведомление.