Swift教程之控制流详解

2020-01-08 22:47:32王旭

} else {
println("It's not that cold. Wear a t-shirt.")
}
// prints "It's really warm. Don't forget to wear sunscreen."
上面这个例子中有多个if出现,用来判断温度是太低还是太高,最后一个else表示的是温度不高不低的时候。

 

当然else也可以被省掉

 

复制代码
temperatureInFahrenheit = 72
if temperatureInFahrenheit <= 32 {
println("It's very cold. Consider wearing a scarf.")
} else if temperatureInFahrenheit >= 86 {
println("It's really warm. Don't forget to wear sunscreen.")
}
在这个例子中,温度不高不低的时候不会输入任何信息。

 

switch语句

switch语句考察一个值的多种可能性,将它与多个case相比较,从而决定执行哪一个分支的代码。switch语句和if语句不同的是,它还可以提供多种情况同时匹配时,执行多个语句块。

switch语句的一般结构是:

 

复制代码
switch some value to consider {
case value 1:
respond to value 1
case value 2,
value 3:
respond to value 2 or 3
default:
otherwise, do something else
}
每个switch语句包含有多个case语句块,除了直接比较值以外,Swift还提供了多种更加复杂的模式匹配的方式来选择语句执行的分支,这在后续的小节会继续介绍。

 

在switch中,每一个case分支都会被匹配和检测到,所有case没有提到的情况都必须使用default关键词。注意default关键词必须在所有case的最后。

下面的例子用switch语句来判断一个字符的类型:

 

复制代码  
let someCharacter: Character = "e"
switch someCharacter {
case "a", "e", "i", "o", "u":
println("(someCharacter) is a vowel")
case "b", "c", "d", "f", "g", "h", "j", "k", "l", "m",
"n", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z":
println("(someCharacter) is a consonant")