Высший учебник по Kotlin 2.4
Функции-расширения
Введение
Расширение String
Расширение Int
Расширение списка
Расширение карты
Расширение nullable-типа
Свойства-расширения
Приватные расширения
Практика
Scope-функции
Введение
Вычисление на объекте
Вызов с готовым объектом
Настройка объекта
Побочное действие
Цепочка с пустым значением
Практика
Результат вызова
Построители
Введение
Функциональный интерфейс
Лямбда вместо объекта
Лямбда с получателем
Вложенный построитель
Метка области
Построитель списка
Построитель карты
Построитель строки
Практика
Регулярные выражения
Введение
Операторы повторения
Группирующие скобки
Экранировка спецсимволов
Фигурные скобки
Ограничение жадности
Группы символов
Наборы символов
Инвертирование наборов символов
Особенности кириллицы
Спецсимволы внутри наборов
Группы символов внутри наборов
Спецсимволы-исключения внутри наборов
Символ шляпки внутри наборов
Особенности дефиса внутри наборов
Начало и конец строки
Граница слов
Многострочность
Команда 'или'
Поиск совпадения
Позиция найденного
Карманы при поиске
Карманы через группы
Все карманы списком
Именованные карманы
Карманы в строке замены
Экранирование номера кармана
Все совпадения
Карманы во всех совпадениях
Перебор совпадений
Карманы при переборе
Именованные карманы при переборе
Полное совпадение
Карманы при полном совпадении
Совпадение с начала строки
Карманы при совпадении с начала
Замена совпадений
Замена первого совпадения
Разбиение строки
Несохраняющие скобки
Просмотр вперед и назад
Флаги в строке
RegexOption
Практика
Задачи на шаблоны
Последовательности
Введение
Из коллекции
Отложенные шаги
Порядок шагов
Конечное действие
Отбор и преобразование
Ограничение длины
Порождение элементов
Бесконечная последовательность
Практика
Инфикс и операторы
Введение
Сложение
Остальная арифметика
Унарный минус
Сравнение
Индекс
Вызов скобками
Диапазон
Проверка вхождения
Практика
Обобщения
Введение
Обобщенная функция
Несколько параметров
Обобщенный класс
Тип коллекции
Верхняя граница
Несколько границ
Nullable-параметр
Выдача значения
Прием значения
Проекция типа
Звезда
Практика
Встраивание функций
Введение
Встраивание тела
Возврат из лямбды
Лямбда без встраивания
Запрет внешнего возврата
Сохраненный тип
Хвостовая рекурсия
Практика
Типы и поля
Аннотации
Сериализация
Введение
Подключение библиотеки
Запись в строку
Чтение из строки
Имя поля
Вложенный объект
Список значений
Значение по умолчанию
Несколько форм
Практика
Рефлексия
Контекстные параметры
Корутины
Введение
Подключение библиотеки
Блокирующий запуск
Приостанавливаемая функция
Пауза
Фоновый запуск
Дескриптор
Ожидание
Параллельный результат
Переключение потока
Область
Отмена
Таймаут
Ошибки
Практика
Синхронизация
Каналы
Потоки
Введение
Создание
Сбор
Пауза
Запас значений
Преобразование
Отбор
Прореживание
Ограничение числа
Поток из готовых значений
Поток из коллекции
Ошибка внутри потока
Действие на каждом значении
Сбор в области
Вложенный поток
Соединение
Пара значений
Хранимое состояние
Общая рассылка
Практика
База данных
Введение
Драйвер
Соединение
Создание таблицы
Вставка
Выборка
Параметры запроса
Условие выборки
Одна запись и пустой результат
Часть полей
Обновление
Удаление
Сортировка
Ограничение
Сводка
Группировка
Пустое поле
Транзакция
Ошибка запроса
Продвинутые запросы
Практика
Связи таблиц
Связывание таблиц
Внешний ключ
Один ко многим
Получение данных из связанных таблиц
Выборка связанных
Запись без пары
Цепочка связанных таблиц
Связывание через таблицу связи
Выборка через связь
Родственные связи
Несколько потомков
Двойная связь
Практика
Практика базы
XML
Введение
Текст тега
Группа тегов
Атрибут
Атрибуты группы
Вложенный тег
Группа с вложенностью
Имя с дефисом
Сборка документа
Практика
HTTP-запросы
Введение
Чтение тела
Код статуса
Параметры адреса
Заголовки запроса
Заголовки ответа
POST
Переход по редиректу
Таймаут
Практика
Запросы к API
Введение
Разбор тела
Один ресурс
Список
Идентификатор в пути
Отправка JSON
Ключ доступа
Ошибочный ответ
Практика
Почта
Введение
Библиотека
Простое письмо
Тема и отправитель
Несколько получателей
Письмо с разметкой
Вложение
Ошибка отправки
Практика
Сокеты
UDP
Введение
Отправка пакета
Приём пакета
Ответ отправителю
Обмен в одном запуске
Несколько пакетов подряд
Практика