Хороший старт

Golang с нуля
Курс проводит от первой программы на Go до полноценного HTTP API. Вы разберётесь с синтаксисом, функциями, ошибками, коллекциями, строками и интерфейсами; научитесь писать тесты, работать с файлами и JSON, использовать горутины, каналы и context. В финале соберёте сервис на стандартной библиотеке и закрепите материал на задачах с автоматической проверкой.
О курсе
Практический курс по Go: от первой программы до конкурентности, тестов и HTTP API.
Чему научитесь
- Писать, запускать и собирать программы на Go
- Работать с функциями, ошибками, коллекциями, строками и рунами
- Проектировать структуры, методы и небольшие интерфейсы
- Писать тесты, читать файлы и обрабатывать JSON
- Использовать горутины, каналы и context и собирать HTTP API
Для кого
- Новички, которые хотят выучить Go с нуля
- Разработчики на других языках, переходящие в Go и backend
- Те, кому нужна практика перед собственным сервисом или стажировкой
Формат
- 30 последовательных уроков — от основ языка до HTTP API
- 50 задач на код с автоматической проверкой и короткие тесты по теории
- Итоговый проект: многослойный сервис на стандартной библиотеке Go
Что нужно на старте
- Уверенно пользоваться компьютером и работать с файлами
- Опыт программирования не требуется
Автор курса
Петр Андреев
Меня зовут Пётр. Я занимаюсь backend-разработкой на Go. Мне важно не просто показать готовое решение, а объяснить, как оно работает, почему написано именно так и какие у него есть ограничения. Разбираю Go на разных уровнях: от базовых конструкций языка до конкурентного программирования, тестирования, проектирования приложений и работы с базами данных. Пишу для тех, кто только начинает знакомство с Go, и для разработчиков, которые хотят систематизировать или углубить свои знания.
Программа
01Первый запуск и инструменты Go2 урока
02Переменные, типы, выражения и ветвление4 урока
03Циклы и функции2 урока
04Ошибки и defer2 урока
05Коллекции: массивы, срезы и отображения3 урока
06Строки, руны и пакеты strings/strconv2 урока
07Структуры, указатели, методы и интерфейсы4 урока
08Пакеты, тестирование, файлы и JSON4 урока
09Конкурентность: горутины, каналы и контекст3 урока
10HTTP-сервер, JSON API и итоговый проект4 урока
Отзывы
4 отзываС задачами не сразу получилось, но объяснения понятные.
Для первого знакомства с Go отлично.
Показать ещё 1 отзывСвернуть
Спасибо, Петр!
Дополнительные материалы и практика
Задачи
- Go fmt.Sprintf: форматирование строки и числа с двумя знаками
- Go if и switch: несколько значений в одной ветке
- Go strings.Split и strconv.ParseFloat: сумма чисел в строке
- Go pointer receiver и встраивание struct: изменяемый счётчик
- Go: композиция интерфейсов ReaderNotifier и обработка ошибки
- Go encoding/json: фильтрация потока JSON по полю alert
- go mod init: создание модуля Go, форматирование и сборка
- Go: преобразование float64 в int без округления
- Go if else и оператор ||: несколько кодов для одного результата
- Go for и continue: пропуск чётных чисел в цикле
- Go: функция с двумя возвращаемыми значениями float64 и bool
- Go errors.Is и fmt.Errorf с %w: оборачивание ошибок
- defer в Go: порядок вызовов, аргументы и ранний return
- Go: обход массива [7]int и возврат среза []int
- Go append и базовый массив: почему меняется исходный срез
- Как проверить наличие ключа в map Go: value, ok и delete
- Go []rune: разворот строки UTF-8 без порчи кириллицы
- Go strings: проверка имени файла и расширения перед загрузкой
- Go type assertion с ok: дополнительный интерфейс для объекта
- Go: подмена зависимостей интерфейсами и fake-уведомитель
Уроки
- Установка Go и первая программа: go run
- Переменные, константы и базовые типы
- Цикл for: три формы, break и continue
- Объявление функций, параметры, несколько возвращаемых значений и область видимости
- Тип error: возврат, проверка и оборачивание
- defer: порядок выполнения и отличие ожидаемой ошибки от panic
- Массивы и срезы: создание, индексирование, len, cap, append и range
- Разделяемый базовый массив, copy и подсрезы
- Map: создание, чтение, запись, удаление и проверка ключа
- Строки, байты и руны: модель UTF-8 в Go
- Структуры и указатели: объявление, инициализация и передача по адресу
- Интерфейсы: определение, неявная реализация и type assertion
- Собственные пакеты: структура папок, exported и unexported имена
- Табличные тесты через пакет testing и go test
- Горутины и sync.WaitGroup: конкурентный запуск и ожидание
- Каналы и select: передача данных и координация событий
- context.Context: отмена и таймаут по цепочке вызовов
- HTTP-сервер на net/http: регистрация обработчиков и формирование ответа
- JSON HTTP API: Task API с валидацией, единообразными ошибками и потокобезопасным хранилищем
- Тестирование HTTP-обработчиков через httptest
