Swift оператор switch
switchОператор switch позволяет проверить переменную на равенство нескольким значениям. В Swift, как только совпадает один case, весь switch завершается.
Синтаксис
Синтаксис оператора switch в Swift:
switch expression {
case expression1 :
statement(s)
fallthrough /* 可选 */
case expression2, expression3 :
statement(s)
fallthrough /* 可选 */
default : /* 可选 */
statement(s);
}
Обычно оператор fallthrough не используется в операторах switch.
Здесь нужно отметить, что если инструкция case не использует инструкциюfallthrough, то после выполнения текущей инструкции case switch завершается, и поток управления переходит на следующую строку после оператора switch.
Если используется инструкцияfallthrough, она продолжит выполнять следующие инструкции case или default, независимо от того, выполнено ли условие.
Примечание:В большинстве языков в блоке оператора switch после case обязательно должен идти break; иначе инструкции после case будут выполняться последовательно. В Swift по умолчанию продолжения не будет, и switch также завершается. Если вы хотите, чтобы инструкции после case продолжали выполняться по порядку в Swift, нужно использовать инструкцию fallthrough.
Пример 1
В следующем примере не используется оператор fallthrough:
import Cocoa
var index = 10
switch index {
case 100 :
print( "index 的值为 100")
case 10,15 :
print( "index 的值为 10 или 15")
case 5 :
print( "index 的值为 5")
default :
print( "默认 case")
}
Когда приведённый выше код компилируется и выполняется, он выдаёт следующий результат:
index 的值为 10 или 15
Пример 2
В следующем примере используется оператор fallthrough:
import Cocoa
var index = 10
switch index {
case 100 :
print( "index 的值为 100")
fallthrough
case 10,15 :
print( "index 的值为 10 или 15")
fallthrough
case 5 :
print( "index 的值为 5")
default :
print( "默认 case")
}
Когда приведённый выше код компилируется и выполняется, он выдаёт следующий результат:
index 的值为 10 или 15 index 的值为 5Другие расширения
Условные операторы в Swift