Switch

Switch (переключатель) - это удобный способ кратко записать несколько последовательных проверок условия вида if...else if... else if для случая проверки одного значения. Так, следующая цепочка :

    if( v == 0 )
        e1
    else if( v == foo(1) )
        e2
    else if( v == 65 )
        e3
    else
        e4;
</div>

может быть преобразована в такой switch :

    switch( v ) {
    case 0:
        e1;
    case foo(1):
        e2;
    case 65:
        e3;
    default:
        e4;
    }
</div>

Переключатели в haXe отличаются от традиционных : все случаи (case) - это отдельные выражения, так что после выполнения одного из них происходит автоматический выход из блока switch. Как следствие, нет необходимости в использовании break в switch, а положение default может быть произвольным.

На некоторых платформах, switch на постоянных значениях (особенно постоянных целых числах) могут быть оптимизированы для большей скорости.

Свитчи также могут быть использованы на перечислениях (enum) с другой семантикой. Это будет объяснено позже в этом документе.