Swift - Fallthrough Statement



A switch statement in Swift completes its execution as soon as the first matching case is completed instead of falling through the bottom of subsequent cases as it happens in C and C++ programming languages.

The generic syntax of a switch statement in C and C++ is as follows −

switch(expression){
   case constant-expression  :
      statement(s);
      break; /* optional */
   case constant-expression  :
      statement(s);
      break; /* optional */
  
   /* you can have any number of case statements */
   default : /* Optional */
      statement(s);
}

Here we need to use a break statement to come out of a case statement, otherwise, the execution control will fall through the subsequent case statements available below the matching case statement.

So in Swift, we can achieve the same functionality using a fallthrough statement. This statement allows controls to transfer to the next case statement regardless of whether the current case’s condition is matched. Due to this, it is less preferred by the developers because it makes code less readable or can lead to unexpected behaviour.

Syntax

Following is the syntax of the fallthrough statement −

switch expression {
   case expression1  :
      statement(s)
      fallthrough /* optional */
   case expression2, expression3  :
      statement(s)
      fallthrough /* optional */
  
   default : /* Optional */
      statement(s);
}

If we do not use the fallthrough statement, then the program will come out of the switch statement after executing the matching case statement. We will take the following two examples to make its functionality clear.

Example

Swift program to demonstrate the use of switch statement without fallthrough.

import Foundation

var index = 10
switch index {
   case 100  :
      print( "Value of index is 100")
   case 10,15  :
      print( "Value of index is either 10 or 15")
   case 5  :
      print( "Value of index is 5")
   default :
      print( "default case")
}

Output

It will produce the following output −

Value of index is either 10 or 15

Example

Swift program to demonstrate the use of switch statement with fallthrough.

import Foundation

var index = 10
switch index {
   case 100  :
      print( "Value of index is 100")
      fallthrough
   case 10,15  :
      print( "Value of index is either 10 or 15")
      fallthrough
   case 5  :
      print( "Value of index is 5")
   default :
      print( "default case")
}

Output

It will produce the following output −

Value of index is either 10 or 15
Value of index is 5
Advertisements