循环中的范围
本课属于 Coddy Swift 学习旅程的“基础知识”单元。第 48 课,共 86 课。
你一直在循环中使用像 1...5 这样的范围,但 Swift 提供了更灵活的范围定义方式。让我们来探索不同的范围类型,以及一种实用的倒序计数技巧。
闭区间运算符(...)包含两个端点:
for i in 1...3 {
print(i)
}
// 输出:1、2、3半开区间运算符(..<)不包含上界,在使用从 0 开始的索引时尤其有用:
for i in 0..<3 {
print(i)
}
// 输出:0、1、2有时你需要按相反的顺序循环。reversed() 方法可以让你反向遍历一个范围:
for i in (1...3).reversed() {
print(i)
}
// 输出:3, 2, 1注意 range 两侧的括号:对 range 调用 reversed() 时必须加上括号。这种方法非常适合倒计时,或者需要从后往前处理项目时使用。
挑战
简单编写一个函数 countdown,它接收 n,并返回一个字符串,其中包含从 n 倒数到 1,最后跟着 "Go!"。
使用范围的 reversed() 方法反向迭代,并构建倒计时字符串。
逻辑:
- 创建从
1到n的范围,并将其反转 - 构建一个字符串,用换行符分隔每个数字
- 在最后一行添加 "Go!"
参数:
n(Int):倒计时的起始数字(1 或更大)
返回值:一个字符串,每个倒计时数字各占一行,并以 "Go!" 结尾(String)。格式:
3
2
1
Go!例如,如果 n 是 3,函数会返回 "3\n2\n1\nGo!"。
亲手试试
func countdown(n: Int) -> String {
// 在这里编写代码
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Swift 在线编辑器