以下是在switch语句中使用break语句的示例:
let numberSymbol: Character = "三" // Simplified Chinese for the number 3
var possibleIntegerValue: Int?
switch numberSymbol {
case "1", "١", "一", "๑":
possibleIntegerValue = 1
case "2", "٢", "二", "๒":
possibleIntegerValue = 2
case "3", "٣", "三", "๓":
possibleIntegerValue = 3
case "4", "٤", "四", "๔":
possibleIntegerValue = 4
default:
break
}
if let integerValue = possibleIntegerValue {
println("The integer value of \(numberSymbol) is \(integerValue).")
} else {
println("An integer value could not be found for \(numberSymbol).")
}
possibleIntegerValue
是一个可选的整数类型(optional Int
),所以我并不认为这是使用 switch 中 break 的更好的示例。与其使用 break,即使 possibleIntegerValue = nil
也可以工作。
let numberSymbol: Character = "三" // Simplified Chinese for the number 3
var possibleIntegerValue: Int?
switch numberSymbol {
case "1", "١", "一", "๑":
possibleIntegerValue = 1
case "2", "٢", "二", "๒":
possibleIntegerValue = 2
case "3", "٣", "三", "๓":
possibleIntegerValue = 3
case "4", "٤", "四", "๔":
possibleIntegerValue = 4
default:
possibleIntegerValue = nil
}
if let integerValue = possibleIntegerValue {
println("The integer value of \(numberSymbol) is \(integerValue).")
} else {
println("An integer value could not be found for \(numberSymbol).")
}
因此,在这种情况下,break
根本不是必需的。有人能为我提供一个在switch语句中使用break的正确示例吗?在这个示例中,我故意需要忽略一些情况。
书上说:
这种行为可用于匹配和忽略一个或多个case语句。由于Swift的switch语句是详尽无遗的,并且不允许空case,有时需要故意匹配和忽略一个case以明确您的意图。您可以通过将break语句编写为要忽略的case的整个主体来实现此目的。当switch语句匹配该case时,case内的break语句会立即结束switch语句的执行。