Spread и spread с учётом null
Встраивание одной коллекции в другую
«Spread и spread с учётом null» — бесплатный урок Dart Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Dart Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Dart Academy содержит 4 уроков всего.
Объединение коллекций
Часто требуется добавить все элементы одного списка в другой. Оператор разворачивания в Dart вставляет целую коллекцию одним действием.
Знакомство с тремя точками
Оператор разворачивания — это три точки перед коллекцией внутри литерала списка, множества или отображения. Её элементы сразу добавляются внутрь.
var more = [4, 5];
var all = [1, 2, 3, ...more];Что создаёт разворачивание
Разворачивание копирует исходные элементы в новую коллекцию. В результате получается новый список, а исходная коллекция остаётся без изменений.
Разворачивание в любом месте
Разворачивание можно поместить в начало, середину или конец, а также сочетать несколько разворачиваний с обычными элементами в одном литерале.
var x = [0, ...a, 9, ...b];Проблема отсутствующей коллекции
Если разворачиваемая коллекция отсутствует, обычное разворачивание вызывает ошибку. Это рискованно, когда источник может ещё не существовать.
Разворачивание с проверкой отсутствия
Добавьте знак вопроса для разворачивания с проверкой отсутствия, записываемого как знак вопроса, а затем три точки. Отсутствующий источник просто не добавляет элементов.
var all = [1, 2, ...?maybeNull];Пропускает, но не вызывает сбой
При разворачивании с проверкой отсутствия коллекция без значения просто пропускается. Остальные элементы сохраняются, и ошибка во время выполнения не возникает.
Разворачивание работает с множествами
Разворачивание предназначено не только для списков. Внутри литерала множества оно также добавляет элементы, а повторы удаляются, чтобы сохранить уникальность множества.
var s = {1, 2, ...other};Разворачивание работает с отображениями
Одно отображение можно развернуть в другое, чтобы объединить записи. Побеждают ключи, добавленные позже, поэтому разворачивание аккуратно заменяет предыдущие значения.
var m = {'a': 1, ...defaults};Разворачивание и addAll
Разворачивание создаёт новую коллекцию в литерале, а addAll изменяет уже существующую. Выбирайте разворачивание, когда нужен новый результат.
Почему это легко читать
Разворачивание делает намерение очевидным: в одном аккуратном литерале сразу видно, из каких частей состоит новая коллекция. 📦
Быстрая проверка
Что происходит при разворачивании с проверкой отсутствия для коллекции без значения?
Итоги
Разворачивание (...) вставляет коллекцию в литерал, а разворачивание с проверкой отсутствия (...?) безопасно пропускает отсутствующий источник. Это работает со списками, множествами и отображениями. 🎯
Изучай Dart с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Spread и spread с учётом null» бесплатный?
Да — полный текст урока «Spread и spread с учётом null» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Dart Academy, подпишись на CoddyKit PRO. Курс Dart Academy содержит 4 уроков всего.
Чему я научусь в уроке «Spread и spread с учётом null»?
Встраивание одной коллекции в другую Ты практикуешь Dart Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Dart Academy?
Предыдущий опыт не требуется. Dart Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Spread и spread с учётом null»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Dart Academy?
Да. Каждый урок Dart Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Оператор каскада (..)
- Каскады с сокращением при null (?..)
- Spread и spread с учётом null
- if и for в коллекциях