Ветвление с помощью оператора switch в Dart выполняется следующим образом:
dart
switch сравнивает значение переменной (в данном случае color) с константами, указанными после case. При совпадении выполняется код, связанный с этим case. Ключевое слово break необходимо для выхода из switch-блока после выполнения соответствующего case. Если его опустить, исполнение перейдет к следующему case (это называется "fallthrough"), что обычно нежелательно. default используется для обработки случаев, когда ни один из case не совпадает.
Важно помнить, что в Dart в switch можно использовать только следующие типы выражений в case:
intString)const) или финальные (final) переменные примитивных типовenum)Также можно использовать совпадение по типу с помощью case (Type value):
dart
В Dart 3.0 появились новые возможности паттерн-матчинга, которые расширяют switch выражения:
dart
Здесь switch используется как выражение, возвращающее значение. Оператор _ выступает как подстановочный символ, соответствующий любому значению.