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: отмена операций, тайм-ауты, дедлайны и передача данных между горутинами