Глава 1. Введение в язык Dart
Что такое Dart. Первая программа
Создание проекта Dart с помощью CLI
Первая программа в IntelliJ IDEA
Глава 2. Основы языка Dart
Структура программы
Переменные и константы
Примитивные типы данных
Значение null, nullable-типы и null-безопасность
Арифметические операции
Побитовые операции и операции сдвига
Условные выражения
Операции присваивания и приоритет операций
Условные конструкции
Циклы
Глава 3. Функциональное программирование
Определение функций
Область видимости переменных и констант
Параметры функции
Возвращение результата из функции
Функция как объект
Анонимные и вложенные функции
Замыкания
Глава 4. Объектно-ориентированное программирование
Классы и объекты
Конструкторы
Приватные поля и методы. Инкапсуляция
Геттеры и сеттеры
Late и отложенная инициализация
null и классы
Константы и константные конструкторы классов
Статические члены классов
Фабричный конструктор
Наследование
Преобразование типов
Абстрактные классы и методы
Реализация интерфейсов
Миксины
Generics. Обобщения
Переопределение операторов
Перечисления
Расширения класса
Глава 5. Коллекции
List
Set
Map
Iterable
Кортежи records
Глава 6. Обработка исключений
Блок try..catch
Классы исключений
Оператор throw и создание своих типов исключений
Глава 7. Асинхронность и многопоточность
Введение в асинхронность и Future
Работа с классом Future
Event Loop
Асинхронные функции и операторы async и await
Изоляты
Глава 8. Работа с файловой системой
Работа с каталогами
Работа с файлами
Чтение и запись текстовых файлов
Чтение и запись бинарных файлов
Файловые потоки
Сохранение и восстановление данных из файла json
Глава 9. Работа с протоколом http
Http-сервер HttpServer
Отправка сервером ответа. HttpResponse
HttpRequest
Отправка запросов на сервер. HttpClient
Глава 10. Pattern matching
Сопоставление с константами и литералами
Деструктуризация
Реляционный и логический паттерны
Паттерны списков и кортежей
Паттерны словарей и объектов