Оператор fallthrough в Swift

Swift 循环Циклы 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 循环Циклы Swift

Другие расширения