Switch (переключатель) - это удобный способ кратко записать несколько последовательных проверок условия вида if...else if... else if для случая проверки одного значения. Так, следующая цепочка :
if( v == 0 )
e1
else if( v == foo(1) )
e2
else if( v == 65 )
e3
else
e4;
может быть преобразована в такой switch :
switch( v ) {
case 0:
e1;
case foo(1):
e2;
case 65:
e3;
default:
e4;
}
Переключатели в
haXe отличаются от традиционных : все
случаи (
case) - это отдельные выражения, так что после выполнения одного из них происходит автоматический выход из блока switch. Как следствие, нет необходимости в использовании break в switch, а положение default может быть произвольным.
На некоторых
платформах,
switch на постоянных значениях (особенно постоянных целых числах) могут быть оптимизированы для большей скорости.
Свитчи также могут быть использованы на перечислениях (enum) с другой семантикой. Это будет объяснено позже в этом документе.