使用 stride(from:to:by:) 计数
使用自定义步长迭代,包括负数步长。
使用 stride(from:to:by:) 计数 是 CoddyKit 上的免费 Swift Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Swift Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Swift Academy 课程共包含 4 节课。
为何需要步进
普通范围每次递增 1。若要按其他数量计数、倒序计数或使用小数,Swift 提供了 stride 函数。
for n in stride(from: 0, to: 10, by: 2) {
print(n)
}步进函数的起点、终点和步长
stride(from: a, to: b, by: step) 会从 a 开始,每次增加 step,并在到达 b 之前停止。终点不包含在内。
for n in stride(from: 0, to: 5, by: 1) {
print(n)
}步进函数的起点、终点和步长(包含终点)
stride(from: a, through: b, by: step) 是包含终点的版本。如果步长正好落在 b 上,它可以达到 b。
for n in stride(from: 0, through: 10, by: 5) {
print(n)
}向下计数
使用负步长向下计数。by: 的值可以为负数。
for n in stride(from: 5, through: 1, by: -1) {
print(n)
}跳过值
较大的步长会跳过一些值,适合每 N 次迭代执行一次。
for n in stride(from: 0, to: 20, by: 5) {
print(n)
}使用双精度值进行步进
与范围不同,stride 可以处理浮点值,因此能够按小数步进。
for x in stride(from: 0.0, through: 1.0, by: 0.25) {
print(x)
}独占式与包含式的区别
区别在于终点:to 不包含终点,through 包含终点。请根据是否需要最终值来选择。
print(Array(stride(from: 1, to: 4, by: 1)))
print(Array(stride(from: 1, through: 4, by: 1)))将步进结果放入数组
您可以使用 Array(...) 将步进结果收集到数组中。
let evens = Array(stride(from: 0, through: 10, by: 2))
print(evens)使用步进进行索引
步进非常适合访问集合中每隔一个的索引。
let items = ["a", "b", "c", "d", "e"]
for i in stride(from: 0, to: items.count, by: 2) {
print(items[i])
}反向迭代
若要从数组末尾遍历到开头,请从最后一个索引开始,使用步进向下计数到 0。
let nums = [10, 20, 30]
for i in stride(from: nums.count - 1, through: 0, by: -1) {
print(nums[i])
}对步进结果求和
将步进与累加结合起来,可以计算一系列按步长递增的值的总和。
var total = 0
for n in stride(from: 0, through: 100, by: 10) {
total += n
}
print(total)快速检查
测试步进。
回顾:使用步进计数
stride(from:to:by:) 不包含终点,stride(from:through:by:) 包含终点。使用负步长向下计数,也可以使用任意数值步长(包括双精度值)按自定义数量计数。
for n in stride(from: 0, through: 6, by: 2) { print(n) }常见问题解答
「使用 stride(from:to:by:) 计数」课时是免费的吗?
是的 — 「使用 stride(from:to:by:) 计数」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Swift Academy 课程的其余内容,请升级到 CoddyKit PRO。 Swift Academy 课程共包含 4 节课。
「使用 stride(from:to:by:) 计数」这节课中我会学到什么?
使用自定义步长迭代,包括负数步长。 你通过在浏览器中直接运行的动手代码来练习 Swift Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Swift Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Swift Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「使用 stride(from:to:by:) 计数」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Swift Academy 课中编写并运行代码吗?
能。每节 Swift Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。