Golang основы
От первой программы до срезов, map, структур, интерфейсов, ошибок, горутин и итогового проекта.
Задачу проверяют тесты: в браузере и в облаке
Задачи курса компилируются и проверяются на сайте, поэтому для прохождения ничего устанавливать не нужно. Чтобы запускать примеры из уроков на своём компьютере, подготовьте его за два шага.
Установите Go
Уроки рассчитаны на Go 1.26 или новее.
- Скачайте установщик для своей системы со страницы go.dev/dl и запустите его.
- В инструкции по установке сказано, как проверить, что Go установлен, в Windows, macOS и Linux.
Установите VS Code
Скачайте VS Code и поставьте расширение Go от команды Go.
Программа курса
- Ошибка — это значениеТеория
- errors.New и fmt.ErrorfТеория
- Тест — как создать ошибкуТест
- Проверка if err != nilТеория
- Тест — strconv.AtoiТест
- Обёртка %w и errors.IsТеория
- Тест — == или errors.IsТест
- Свой тип ошибки и errors.AsТеория
- Тест — errors.As сквозь %wТест
- Задача: разобрать возрастЗадача
- Задача: деление с ошибкойЗадача
- Функции как значенияТеория
- Тест — функции первого классаТест
- ЗамыканияТеория
- Тест — счётчик-замыканиеТест
- deferТеория
- Тест — порядок и аргументы deferТест
- panic и recoverТеория
- Тест — panic и recoverТест
- Задача: фильтрЗадача
- Задача: накопительЗадача
- ★ Задача: повторить функциюЗадача
- ★ Задача: паника в ошибкуЗадача
- ГорутиныТеория
- sync.WaitGroupТеория
- Тест — WaitGroupТест
- КаналыТеория
- Тест — отправка без получателяТест
- Буфер, close и rangeТеория
- Тест — range по закрытому каналуТест
- selectТеория
- Mutex и гонка данныхТеория
- Тест — счётчик под MutexТест
- Задача: сумма в горутинахЗадача
- Задача: безопасный счётчикЗадача
- Задача: результаты по мере готовностиЗадача