Оператор fallthrough в Swift
Оператор fallthrough в Swift заставляет операторы после case продолжать выполняться по порядку, и они выполнятся независимо от того, выполнено ли условие.
В Swift switch не проваливается из одной ветви case в следующую. Как только первая соответствующая ветвь case завершает необходимые операторы, весь блок кода switch завершает выполнение.
Примечание:В большинстве языков в блоке оператора switch после каждого case должен следовать break, иначе операторы после case будут выполняться последовательно. Однако в Swift по умолчанию выполнение не продолжается, и switch завершается. Если вы хотите, чтобы операторы после case продолжали выполняться последовательно в Swift, нужно использовать оператор fallthrough.
Синтаксис
Синтаксис оператора fallthrough в Swift выглядит следующим образом:
fallthrough
Обычно оператор fallthrough не используется в операторах switch.
Пример 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