Menu
CoddyTech

带范围的 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 条件语句简洁得多。

challenge icon

挑战

简单
编写一个函数 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 {
    // 在这里编写代码
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Swift 在线编辑器