Go
От первого go run до рабочего API
Уроки курса (24)
- Установка Go и первый запуск — Научимся устанавливать Go, настраивать окружение и запускать первую программу
- Переменные и типы без паники — Основы работы с данными в Go: переменные, константы и базовые типы
- if, switch и логика решений — Условные конструкции в Go: if, else, switch и особенности их использования
- Цикл for: все варианты + типичные ошибки — В Go есть только один цикл - for, но он может всё: от классического счетчика до бесконечного цикла
- Функции и несколько возвращаемых значений — Функции в Go: параметры, возвращаемые значения, defer, замыкания и функции как first-class citizens
- Слайсы - динамические массивы Go — Слайсы в Go: создание, манипуляции, внутреннее устройство и производительность
- Maps - хеш-таблицы в Go — Maps в Go: создание, операции, конкурентность и практические примеры использования
- Структуры - создаем свои типы — Структуры в Go: создание, методы, встраивание, теги и best practices
- Интерфейсы - контракты в Go — Интерфейсы в Go: неявная реализация, композиция, пустой интерфейс и практические паттерны
- Обработка ошибок как философия — Обработка ошибок в Go: error interface, паттерны, создание своих ошибок и best practices
- Горутины - легковесная конкурентность — Горутины в Go: создание, синхронизация, паттерны и типичные ошибки конкурентного программирования
- Каналы - связь между горутинами — Каналы в Go: создание, операции, буферизация, select и паттерны использования
- HTTP сервер из коробки — Создание веб-серверов в Go: http пакет, роутинг, middleware, работа с JSON и best practices
- Работа с базами данных — Подключение к БД в Go: database/sql, работа с PostgreSQL, миграции и best practices
- Тестирование - встроено в язык — Тестирование в Go: unit тесты, table-driven tests, бенчмарки, моки и интеграционные тесты
- Проект: TODO API с авторизацией — Создаем полноценное REST API приложение: структура проекта, JWT авторизация, база данных, тесты
- Переменные среды и редактор кода — Настройка рабочего окружения: GOPATH, GOROOT, go env, выбор редактора и полезные расширения
- Получение данных от пользователя — Чтение ввода: fmt.Scan, bufio.Scanner, os.Args, пакет flag для CLI
- Преобразование типов и strconv — Явное приведение типов, strconv.Atoi, ParseFloat, FormatInt и работа со строками-числами
- Область видимости и пакеты — Scope переменных, блоки, shadowing, экспорт через регистр, организация пакетов
- Определяемые типы и инкапсуляция — type definition, type alias, методы на типах, инкапсуляция через пакеты
- Рекурсия — Рекурсивные функции, базовый случай, стек вызовов, хвостовая рекурсия, когда не стоит
- Работа с файлами — Чтение и запись файлов в Go: os, bufio, io - от простых операций до потокового чтения больших файлов
- Context - управление временем жизни операций — Пакет context в Go: отмена операций, тайм-ауты, дедлайны и передача данных между горутинами