Go

От первого go run до рабочего API

Уроки курса (24)

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