Menu
CoddyTech

在 switch 中使用范围

本课属于 Coddy Swift 学习旅程的“逻辑与流程”单元。第 10 课,共 56 课。

你在基础知识中用 switch 处理过范围。这个技巧也适用于实际的分类问题,每个 case 都覆盖一段值。

let temp = 22
switch temp {
case ..<0:        print("freezing")
case 0..<10:      print("cold")
case 10..<20:     print("mild")
case 20..<30:     print("warm")
default:           print("hot")
}
// 暖和

第一个 case ..<0 使用单侧范围形式,表示“严格小于 0 的任意值”。你也可以用 0... 表示“0 或更大”。

系统会从上到下检查各个分支,并采用第一个匹配的分支,因此请按从低到高的顺序排列(或者使用 default 作为兜底分支)。

challenge icon

挑战

入门

从输入中读取一个整数:摄氏温度。使用一个带范围匹配分支的 switch 输出以下标签之一:

  • 低于 0(负数):freezing
  • 0...9:cold
  • 10...19:mild
  • 20...29:warm
  • 30...39:hot
  • 40 及以上:scorching

输入 22 时,输出为 warm。

亲手试试

let temp = Int(readLine()!)!

// TODO:用范围对 temp 进行 switch 匹配,打印对应的标签
quiz icon自我测试

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

逻辑与流程中的所有课

自己练习: Swift 在线编辑器