let firstNumber = 1
var numbers = ""
switch firstNumber {
case 1:
numbers = "1"
fallthrough
case 2:
numbers += "-2"
fallthrough
case 3:
numbers += "-3"
fallthrough
default:
numbers += ";"
}
//numberList is "1-2-3;"
print("numbers is '\(numbers)'")
| В Swift операторы switch не попадают из конца каждого блока case в следующий. То есть весь оператор switch завершает свое выполнение, как только завершается первый подходящий вариант. Напротив, C требует, чтобы вы вставляли явный оператор break в конце каждого варианта, чтобы предотвратить переход к следующему. Избежание провала по умолчанию означает, что операторы переключения Swift гораздо более кратки и предсказуемы, чем их аналоги в C, и, таким образом, они позволяют избежать ошибочного выполнения нескольких случаев переключения. Если вам нужно поведение в стиле C, вы можете указать его в каждом конкретном блоке case с помощью ключевого слова fallthrough. |