2014-06-08 76 views
34

由於swift不落空case語句switch,我怎樣才能寫出一個空的case語句而不會出現錯誤?如何在Swift中編寫空案例?

let a = 50 
switch a { 
case 0..10: 
case 10..100: 
    println("between 10 and 100") 
default: 
    println("100 and above") 
} 

如何讓第一個箱子停止開關?

回答

51
let a = 50 
switch a { 
case 0..10: 
    break // Break the switch immediately 
case 10..100: 
    println("between 10 and 100") 
default: 
    println("100 and above") 
} 

關鍵字break是可選的,但不是在這種情況下,:)

+3

這是正確的答案。從[* Swift編程語言(Swift 2.2)*](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/ControlFlow.html#//apple_ref/doc/uid/TP40014097- CH9-ID139):「因爲Swift的轉換陳述是詳盡無遺的,並且不允許出現空例,有時有必要故意匹配和忽略一個案例,以便明確地表達你的意圖。通過將break語句寫成整個主體你想忽略的情況。「 –

22

爲了防止錯誤:

Case label in a switch should have at least one executable statement 

...如果標籤在下面的例子中使用()像。也適用於default標籤。

let a = 1 
switch a { 
case 1: 
    () 
case 2: 
    println("2") 
default: 
    () 
}