switch обязан быть исчерпывающим для enum/ограниченных типов (или иметь default); поддерживает паттерны, where, связывание значений.
Разбор
- Нет неявного fallthrough — нужен явный
fallthrough.
if case / guard case для одного паттерна.
- Диапазоны:
case 0..<10.
- Для tuple и сложных паттернов — мощный инструмент.
Итог
Исчерпывающий switch ловит новые кейсы на этапе компиляции.