带范围的 switch
本课属于 Coddy Swift 学习旅程的“基础知识”单元。第 30 课,共 86 课。
使用 范围 代替单个值,可以让 switch 语句更强大。这非常适合将数字分组,例如把分数转换为等级。
let score = 85
switch score {
case 90...100:
print("A")
case 80..<90:
print("B")
case 70..<80:
print("C")
case 60..<70:
print("D")
default:
print("F")
}... 运算符会创建一个闭区间,包含两个端点,因此 90...100 匹配 90、91,一直到 100。..< 运算符会创建一个半开区间,不包含上界:80..<90 匹配从 80 到 89 的值。
Swift 会按顺序检查每个分支,并执行第一个匹配的分支。由于我们的分数是 85,它属于 80..<90,所以会打印 "B"。这种写法比使用比较运算符编写多个 else if 条件语句简洁得多。
挑战
简单编写一个函数 getAgeCategory,接收 age,并根据年龄范围返回对应的人生阶段类别。
使用带范围的 switch 语句,将年龄归为五个人生阶段之一。
条件:
0...2:返回"Infant"3...12:返回"Child"13...19:返回"Teenager"20...64:返回"Adult"65...120:返回"Senior"- 其他任何值:返回
"Invalid age"
参数:
age(Int):此人的年龄
返回值:以 String 类型表示的人生阶段类别
亲手试试
func getAgeCategory(age: Int) -> String {
// 在这里编写代码
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Swift 在线编辑器