范围是值的间隔。一个简单的范围示例是0、1、2、3、4、5、6、7、8、9,因为数字从0到9是连续的。
我们可以使用下面描述的两个范围运算符快速创建范围:
1.近距离运算符(lowerBound … upperBound)
它包括间隔(lowerbound到upperBound)中的所有值。使用…
(3点) 运算符。
例如: 1...3
定义包含值1,2,3的范围
2.半开范围运算符(lowerBound ..
它包括区间(lowerbound到upperBound)中的所有值,但不包括最后一个(upperBound)数。使用..<
运算符声明。
例如: 1..<3
定义包含值1和2的范围
范围类型
1.封闭范围(lowerBound … upperBound)
使用封闭范围运算符创建的范围称为封闭范围。它包括从下限到上限的所有值。
示例1:使用for-in循环打印闭合范围值
// 1...3 Defines a range containing values 1, 2 and 3
for value in 1...3 {
print(value)
}
运行该程序时,输出为:
1
2
3
上面的示例创建一个包含1到3( 1...3
)的数字的范围。我们使用了一个for-in循环来查看范围包含哪些值。要了解有关for-in循环的更多信息,请访问Swift for-in循环。
使用for-in循环,我们可以看到封闭范围包含给定范围内的所有值,包括下限(1)和上限(3)。
2.半开范围(lowerBound ..
使用半开范围运算符创建的范围称为半开范围。它包括从下限到上限的所有值,但不包括上限值。
示例2:使用for-in循环打印半开范围值
// 1..<3 Defines a range containing values 1,2
for value in 1..<3 {
print(value)
}
运行该程序时,输出为:
1
2
在上面的示例中,我们使用了for-in循环来查看半开范围的工作原理。
不用打印所有值,我们可以清楚地看到使用半开运算符仅打印1和2,并且不包括上限值(即3)。
3.单面范围
单边范围是指在一个方向上尽可能连续的范围。可以使用半开范围运算符和闭合范围运算符来创建它,但是该运算符只能在一侧具有一个值。
示例3:单面范围小于2
let range = ..<2
print(range.contains(-1))
print(range.contains(2))
运行该程序时,输出为:
true
false
上面的示例使用半开范围运算符创建一个单边范围,该范围包含小于2的任何数字。
为了验证我们的结果,我们使用了contains
方法。如果元素位于范围内,则contains
方法仅返回true
,否则返回false
。
range.contains(-1)
检查-1是否在范围内。由于其单边范围的上限为2且-1 <2,因此它位于范围内,并且print(range.contains(-1))
在屏幕上输出true
。
但是,由于使用半开范围运算符,上限value(2)不包含在范围内。因此, range.contains(2)
返回false
。
示例4:从2开始的单边范围
let range = 2...
print(range.contains(100))
print(range.contains(1))
运行该程序时,输出为:
true
false
上面的示例使用封闭运算符创建一个单边范围,该范围包含从2到大于2的任何值的数字。
range.contains(100)
检查100是否在范围内。由于其单边范围和100大于2,因此它位于范围内并在屏幕上打印true
。
但是,它具有下限值(2),因此range.contains(1)
返回false
。
要记住的事情
- 范围的起点必须小于或等于其终点。在我们的示例
(lowerBound...upperBound)
,下限值必须小于上限值。但是,它可以是负值。
例:
3...1 // fatal error: Can't form Range with upperBound < lowerBound
-3...1 // This is a valid range. Lowerbound/Upperbound can contain a negative value but should valid the above statement.
- 我们可以使用for-in循环遍历整个范围(不包括单边范围)。
- 我们还可以使用范围运算符访问数组的元素。
它包括区间(lowerbound到upperBound)中的所有值,但不包括最后一个(upperBound)数。使用..<
运算符声明。
例如: 1..<3
定义包含值1和2的范围
范围类型
1.封闭范围(lowerBound … upperBound)
使用封闭范围运算符创建的范围称为封闭范围。它包括从下限到上限的所有值。
示例1:使用for-in循环打印闭合范围值
// 1...3 Defines a range containing values 1, 2 and 3
for value in 1...3 {
print(value)
}
运行该程序时,输出为:
1
2
3
上面的示例创建一个包含1到3( 1...3
)的数字的范围。我们使用了一个for-in循环来查看范围包含哪些值。要了解有关for-in循环的更多信息,请访问Swift for-in循环。
使用for-in循环,我们可以看到封闭范围包含给定范围内的所有值,包括下限(1)和上限(3)。
2.半开范围(lowerBound ..
使用半开范围运算符创建的范围称为半开范围。它包括从下限到上限的所有值,但不包括上限值。
示例2:使用for-in循环打印半开范围值
// 1..<3 Defines a range containing values 1,2
for value in 1..<3 {
print(value)
}
运行该程序时,输出为:
1
2
在上面的示例中,我们使用了for-in循环来查看半开范围的工作原理。
不用打印所有值,我们可以清楚地看到使用半开运算符仅打印1和2,并且不包括上限值(即3)。
3.单面范围
单边范围是指在一个方向上尽可能连续的范围。可以使用半开范围运算符和闭合范围运算符来创建它,但是该运算符只能在一侧具有一个值。
示例3:单面范围小于2
let range = ..<2
print(range.contains(-1))
print(range.contains(2))
运行该程序时,输出为:
true
false
上面的示例使用半开范围运算符创建一个单边范围,该范围包含小于2的任何数字。
为了验证我们的结果,我们使用了contains
方法。如果元素位于范围内,则contains
方法仅返回true
,否则返回false
。
range.contains(-1)
检查-1是否在范围内。由于其单边范围的上限为2且-1 <2,因此它位于范围内,并且print(range.contains(-1))
在屏幕上输出true
。
但是,由于使用半开范围运算符,上限value(2)不包含在范围内。因此, range.contains(2)
返回false
。
示例4:从2开始的单边范围
let range = 2...
print(range.contains(100))
print(range.contains(1))
运行该程序时,输出为:
true
false
上面的示例使用封闭运算符创建一个单边范围,该范围包含从2到大于2的任何值的数字。
range.contains(100)
检查100是否在范围内。由于其单边范围和100大于2,因此它位于范围内并在屏幕上打印true
。
但是,它具有下限值(2),因此range.contains(1)
返回false
。
要记住的事情
- 范围的起点必须小于或等于其终点。在我们的示例
(lowerBound...upperBound)
,下限值必须小于上限值。但是,它可以是负值。
例:
3...1 // fatal error: Can't form Range with upperBound < lowerBound
-3...1 // This is a valid range. Lowerbound/Upperbound can contain a negative value but should valid the above statement.
- 我们可以使用for-in循环遍历整个范围(不包括单边范围)。
- 我们还可以使用范围运算符访问数组的元素。
使用半开范围运算符创建的范围称为半开范围。它包括从下限到上限的所有值,但不包括上限值。
示例2:使用for-in循环打印半开范围值
// 1..<3 Defines a range containing values 1,2
for value in 1..<3 {
print(value)
}
运行该程序时,输出为:
1
2
在上面的示例中,我们使用了for-in循环来查看半开范围的工作原理。
不用打印所有值,我们可以清楚地看到使用半开运算符仅打印1和2,并且不包括上限值(即3)。
3.单面范围
单边范围是指在一个方向上尽可能连续的范围。可以使用半开范围运算符和闭合范围运算符来创建它,但是该运算符只能在一侧具有一个值。
示例3:单面范围小于2
let range = ..<2
print(range.contains(-1))
print(range.contains(2))
运行该程序时,输出为:
true
false
上面的示例使用半开范围运算符创建一个单边范围,该范围包含小于2的任何数字。
为了验证我们的结果,我们使用了contains
方法。如果元素位于范围内,则contains
方法仅返回true
,否则返回false
。
range.contains(-1)
检查-1是否在范围内。由于其单边范围的上限为2且-1 <2,因此它位于范围内,并且print(range.contains(-1))
在屏幕上输出true
。
但是,由于使用半开范围运算符,上限value(2)不包含在范围内。因此, range.contains(2)
返回false
。
示例4:从2开始的单边范围
let range = 2...
print(range.contains(100))
print(range.contains(1))
运行该程序时,输出为:
true
false
上面的示例使用封闭运算符创建一个单边范围,该范围包含从2到大于2的任何值的数字。
range.contains(100)
检查100是否在范围内。由于其单边范围和100大于2,因此它位于范围内并在屏幕上打印true
。
但是,它具有下限值(2),因此range.contains(1)
返回false
。
要记住的事情
- 范围的起点必须小于或等于其终点。在我们的示例
(lowerBound...upperBound)
,下限值必须小于上限值。但是,它可以是负值。例:
3...1 // fatal error: Can't form Range with upperBound < lowerBound -3...1 // This is a valid range. Lowerbound/Upperbound can contain a negative value but should valid the above statement.
- 我们可以使用for-in循环遍历整个范围(不包括单边范围)。
- 我们还可以使用范围运算符访问数组的元素。