Разница между стандартными и продвинутыми формами оператора switch заключается в некоторых особенностях:
- Стандартная форма (switch statement). 3 В этой форме значение переменной switch определяет ветвь, которая затем выполняется. 3
- Продвинутая форма (switch expression). 3 При использовании switch как выражения после выполнения оператор switch в целом принимает значение вычисления, которое затем можно присвоить переменной или передать в качестве аргумента. 3
Также существует две основные формы оператора switch: 1
- Структурированный (как в Паскале). 1 В этой форме выбирается только одна ветвь, а случаи рассматриваются как отдельные, эксклюзивные блоки. 1
- Неструктурированный (как в C). 1 В этой форме случаи рассматриваются как метки внутри одного блока, а оператор switch функционирует как обобщённый goto. 1