func getPoint() -> (Int, Int) {
return (5, 5)
}
var str: String
let point = getPoint()
switch (point) {
case (0, 0):
str = "(0, 0) point"
case (_, 1):
str = "(\(point.0), 1) point"
case (1, let 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 будет выпонено. |