在 Swift 中,范围是两个数值区间之间的一系列值。例如,
var numbers = 1...4
这里,
...
是一个范围运算符1...4
包含值 1、2、3、4- 1 是 **下界** (第一个元素)
- 4 是 **上界** (最后一个元素)
Swift 中的范围类型
在 Swift 中,有三种范围类型
1. 闭合范围
闭合范围包含从下界到上界的所有值。
它使用 ...
(3个点) 运算符声明。例如,
// 1...4 is close range
for numbers in 1...4 {
print(numbers)
}
输出
1 2 3 4
在上面的示例中,我们创建了一个闭合范围 1...4
。
由于它是闭合范围,所以它包含从 1 到 4 的所有数字,包括下界 (1) 和上界 (4)。
在这里,我们使用 Swift for 循环 来访问范围内的所有值。
2. 半开范围
半开范围包含从下界到上界的所有值。但是,它不包括上界 (最后一个数字)。
它使用 ..<
运算符声明。例如,
for numbers in 1..<4 {
print(numbers)
}
输出
1 2 3
在上面的示例中,我们创建了一个半开范围 1..<4
。由于它是半开范围,所以它不包括上界元素 4。
3. 单边范围
我们可以使用 ...
或 ..<
运算符来创建单边范围。
单边范围在一个方向上包含无限多的元素。例如,
let range1 = ..<2
这里,...<2
是一个单边范围。它包含从 2 到 -∞ 的所有元素。类似地,范围
let range2 = 2...
包含从 2 到 +∞ 的所有元素。
我们可以通过检查某个数字是否存在于范围中来验证这一点。例如,
// one-sided range using
// ..< operator
let range1 = ..<2
// check if -9 is in the range
print(range1.contains(-1))
// one-sided range using
// ... operator
let range2 = 2...
// check if 33 is in the range
print(range2.contains(33))
输出
true true
在这里,我们使用了 contains()
方法来检查某个数字是否存在于范围中。
注意: 对于单边范围,我们只设置上界或下界。
使用 Swift 范围访问数组元素
我们还可以使用 Swift 范围来访问 数组 元素。例如,
let languages = ["Swift", "Java", "C"]
// access array elements
print(languages[0...2])
输出
["Swift", "Java", "C"]
在这里,范围 0...2
作为数组索引,帮助我们访问所有数组元素。
关于 Swift 范围需要记住的事情
1. 下界值必须小于上界值。例如,
// Invalid Range
3...1
// Valid Range
1...3
2. 下界和上界值可以是负数。例如,
// negative lower bound
-3...1
// negative upper and lower bound
-9...-2