If Statement
一個正常的 if
如下:
if (legCount == 0) {
println("It slithers and slides around")
} else {
println("It walks")
}
在 Swift 中,( )
是 optional 的,可寫可不寫,因此可以變成下面的樣子:
if legCount == 0 {
println("It slithers and slides around")
} else {
println("It walks")
}
要注意的是,{ }
是必要的,不能省略。
More Complex If Statements
更複雜的 if
寫起來像這樣:
if legCount == 0 {
println("It slithers and slides around")
} else if legCount == 1 {
println("It hops")
} else {
println("It walks")
}
當然,複雜一點我們就會想要改用 switch
了
Switch
Swift 的 switch
如下:
switch legCount {
case 0:
println("It slithers and slides around")
case 1:
println("It hops")
default:
println("It walks")
}
可以發現的是,不用寫 break
啦,Swift 甩開了舊時代的包袱,switch
不需要 break
來阻擋程式碼往下繼續走。
Switch 也脫離了 c 的限制(只能使用 integer)。現在的 switch
可以使用更多的東西來比對:
switch sender {
case executeButton:
println("You tapped the Execute button")
case firstNameTextField:
println("You tapped the First Name text field")
default:
println("You tapped some other object")
}
可以用物件(instance)當做 key。
當然你也可以使用 multiple(多重) case
,例如:
switch legCount {
case 0:
println("It slithers and slides around")
case 1, 3, 5, 7, 9, 11, 13:
println("It limps")
case 2, 4, 6, 8, 10, 12, 14:
println("It walks")
default:
println("can't find leg")
}
Matching Value Ranges
除此之外,也可以用範圍來當 case
的條件
switch legCount {
case 0:
println("It has no legs")
case 1...8:
println("It has a few legs")
default:
println("It has lots of legs")
}
下一篇: Functions