Поток управления / Условные операторы / Операторы switch/case

func getPoint() -> (IntInt) {
    return (55)
}

var str: String
let point = getPoint()
switch (point) {
    case (00):
        str = "(0, 0) point"
    case (_, 1):
        str = "(\(point.0), 1) point"
    case (1let y):
        str = "(1, \(y)) point"
    case (let x, let y) where x == y:
        str = "(\(x), \(y)) point"
    default:
        str = "other point"
}
//str is (5, 5) point
print("str is \(str)")


Вы можете использовать кортежи для проверки нескольких значений в одном операторе switch. Каждый элемент кортежа можно проверить на соответствие другому значению или интервалу значений. Так же можно использовать символ подчеркивания (_), для соответствия любому возможному значению.

В операторе switch можно использовать предложение where для проверки дополнительных условий. Соответствие текущему значению будет только в том случае, если условие where будет выпонено.