闭区间与半开区间
在循环和切片中正确使用 ... 与 ..<。
闭区间与半开区间 是 CoddyKit 上的免费 Swift Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Swift Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Swift Academy 课程共包含 4 节课。
什么是范围
范围表示下界和上界之间的一系列值。Swift 为此提供了两个主要的范围运算符。
let r = 1...5
for n in r {
print(n)
}闭范围
闭范围运算符 a...b 包含两个端点。1...5 包含 1、2、3、4 和 5。
for n in 1...5 {
print(n)
}半开范围
半开范围运算符 a..<b 包含下界,但不包括上界。0..<5 包含 0、1、2、3 和 4。
for n in 0..<5 {
print(n)
}半开范围为何常用
半开范围与计数和索引非常匹配。0..<array.count 会恰好访问每个有效索引一次。
let items = ["a", "b", "c"]
for i in 0..<items.count {
print("\(i): \(items[i])")
}范围具有 count
范围通过其 count 属性得知自己涵盖了多少个值。
let closed = 1...5
let halfOpen = 0..<5
print(closed.count)
print(halfOpen.count)检查成员关系
使用 contains 测试某个值是否位于范围内。
let valid = 1...100
print(valid.contains(50))
print(valid.contains(0))
print(valid.contains(101))下界和上界
每个范围都会提供 lowerBound 和 upperBound 属性。
let r = 10...20
print(r.lowerBound)
print(r.upperBound)空范围和单值范围
像 5..<5 这样的半开范围是空的。闭范围不可能为空,因为两端都包含在内。
let empty = 5..<5
print(empty.isEmpty)
let single = 5...5
print(single.count)switch 中的范围
范围可以作为切换语句的分支模式,将值归类到不同区间。
let score = 73
switch score {
case 0..<60:
print("Fail")
case 60...100:
print("Pass")
default:
print("Invalid")
}边界必须有序
下界不能大于上界。编写 5...1 会在运行时崩溃,因此请保持边界顺序正确。
let lo = 2
let hi = 8
if lo <= hi {
for n in lo...hi {
print(n)
}
}计数迭代次数
当您只需要重复某项操作 N 次而不使用索引时,请将范围与 _ 一起使用。
var total = 0
for _ in 1...4 {
total += 10
}
print(total)快速检查
测试闭范围与半开范围。
回顾:闭范围和半开范围
a...b 包含两端;a..<b 不包含上界,并且自然适合与计数和索引搭配使用。范围支持 count、contains 以及边界属性。
for i in 0..<3 { print(i) }常见问题解答
「闭区间与半开区间」课时是免费的吗?
是的 — 「闭区间与半开区间」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Swift Academy 课程的其余内容,请升级到 CoddyKit PRO。 Swift Academy 课程共包含 4 节课。
「闭区间与半开区间」这节课中我会学到什么?
在循环和切片中正确使用 ... 与 ..<。 你通过在浏览器中直接运行的动手代码来练习 Swift Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Swift Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Swift Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「闭区间与半开区间」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Swift Academy 课中编写并运行代码吗?
能。每节 Swift Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。