Активный курс

Go с нуля

Практический курс языка Go — от синтаксиса до конкурентности. Каждый урок с интерактивной симуляцией и миссиями.

10модулей
~60уроков
45уже доступно
Углублённо
⚙️
Компилятор Go
От исходника до машинного кода — лексер, AST, SSA, Plan 9 asm. Жизнь программы в рантайме: планировщик G-M-P, сборщик мусора, netpoller.
От исходника до регистровЖизнь программы в рантайме
1
Модуль 12 урока
Знакомство с Go
История языка, установка, первая программа, go run vs go build
Что такое Go и зачем он нуженУстановка и первая программа
2
Модуль 29 урока
Основы языка
Переменные, типы данных, условия, циклы, функции
Hello, World!Переменные в GoЦелые числаСтроки и руныfloat64 и числа с плавающей точкойif, switch, forbool и логические операторыКонстанты и iotaПакет fmt: форматирование вывода
3
Модуль 34 урока
Функции
Variadic, замыкания, defer, panic/recover, методы
Основы функцийVariadic-функцииЗамыканияdefer и panic/recover
4
Модуль 44 урока
Составные типы
Массивы, слайсы, map, struct — устройство и паттерны
mapМассивыСлайсыСтруктуры
5
Модуль 54 урока
Интерфейсы
Полиморфизм через интерфейсы, type assertion, io.Reader/Writer
Интерфейсы: основыСтандартные интерфейсы: io.Reader, Stringer, errorПустой интерфейс и anyType assertion и type switch
6
Модуль 64 урока
Указатели
Heap vs stack, value vs pointer receivers, утечки памяти
Указатели: основыValue и pointer receiversУстройство типов в памятиСтек, куча и escape analysis
7
Модуль 74 урока
Горутины и каналы
Конкурентность, sync, select, WaitGroup, mutex
Горутины: основыКаналыselect и таймаутыsync: Mutex, Once, atomic
8
Модуль 84 урока
Обработка ошибок
error interface, fmt.Errorf, errors.Is/As, sentinel errors
Ошибки: основыОборачивание ошибокСвои типы ошибокpanic и recover
9
Модуль 94 урока
Пакеты и модули
go mod, внутренние пакеты, тестирование, бенчмарки
Пакеты: основыGo модулиТестированиеИнструменты Go
10
Модуль 104 урока
Финальный проект
HTTP-сервер с горутинами, middleware, graceful shutdown
HTTP-сервер на GoJSON APIGraceful ShutdownФинальный проект