РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
7 of 723 menu

Паттерны

Паттерны (patterns) в Dart - это мощный механизм, который позволяет сопоставлять значения с определенной структурой и извлекать из них данные. Паттерны используются в операторах switch, if-case, циклах for и for-in, а также в объявлениях переменных. Паттерн может быть простым (например, литерал или переменная) или составным (например, список, запись или объект). В первом параметре паттерн принимает значение для сопоставления, а во втором - действие, которое выполняется при успешном совпадении.

Синтаксис

// Простой паттерн var (a, b) = (1, 2); // Паттерн в switch switch (value) { case 1: // ... case [1, 2]: // ... } // Паттерн в if-case if (value case [1, 2]) { // ... }

Пример

Давайте деструктурируем запись с помощью паттерна:

void main() { var (a, b) = (1, 2); print(a); print(b); }

Результат выполнения кода:

1 2

Пример

Давайте сопоставим список с паттерном в операторе switch:

void main() { var list = [1, 2, 3]; switch (list) { case [1, 2, 3]: print('matched'); default: print('not matched'); } }

Результат выполнения кода:

"matched"

Пример

Давайте извлечем значения из записи с помощью паттерна в цикле for-in:

void main() { var points = [(1, 2), (3, 4), (5, 6)]; for (var (x, y) in points) { print('x: $x, y: $y'); } }

Результат выполнения кода:

"x: 1, y: 2" "x: 3, y: 4" "x: 5, y: 6"

Смотрите также

  • оператор switch,
    который используется для сопоставления с паттернами
  • оператор if-case,
    который позволяет сопоставлять с паттерном в условии
  • оператор for-in,
    который поддерживает деструктуризацию паттернов
  • ключевое слово when,
    которое добавляет условие к паттерну
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить