поля объекта можно указывать в произвольном
Текущее значение поля класса при сопоставлении неважно, но вы хотите его использовать в вычислениях?
«Да когда же закончится этот раздел?»
Отбросим их, оставив нижнее подчеркивание:
Значения некоторых полей шаблонной записи неважны?
Далее перейдем к работе с записями.
Очень хочется добавить поддержку нескольких ключей или значений при сопоставлении? Не тут-то было. Доставайте попкорн и погнали вносить изменения в код
for (var element in myList) { switch (element) { case {1: 'Oo', 2: String smile}: print('Full match with $smile'); case {"(╯'□')╯︵ ┻━┻": double zero}: print("(╯'□')╯︵ ┻━┻"); case { 'employee': { 'name': String name, 'boss': { 'name': String bossName, 'idEmployees': List idEmployees }, }, }: print( 'employee: $name, boss: $bossName, idEmployees: $idEmployees' ); default: print('No match'); } }
Неважно, какое значение хранится по ключу в указанном шаблоне? Вспоминаем правила деструктурирования таблицы:
Нужно учесть ситуацию, что на определенном индексе списка могут попадаться разные элементы? Она тоже не является проблемой: