上一章Swift教程请查看:swift递归函数
在这篇文章中,你将学习范围range,它的类型和用例在Swift。
范围是值的区间,一个简单的范围示例是0、1、2、3、4、5、6、7、8、9,因为这些数字是从0到9是连续的。
我们可以在swift中创建范围range使用两个范围操作符描述如下:
1. 闭范围运算符(下界…上界)
它包含区间内的所有值(从下界到上界),它是使用…(3点)操作符声明的。
例如:1…3定义包含值1、2、3的范围
2. 半开域操作符(下界<
上界)
它包括区间内的所有值(从下界到上界),但不包括最后一个(上界)数字,它使用..<
操作符。
例如:1 .
.<
3定义了包含值1和2的范围
范围的类型封闭范围(下界…上界)
使用封闭范围操作符创建的范围称为封闭范围,它包含从下界到上界的所有值。
例1:使用for-in循环打印闭合范围值
// 1...3 定义一个包含值1、2和3的范围
for value in 1...3 {
print(value)
}
上面的示例创建一个范围,其中包含数字从1到3 (1…3),我们使用一个for-in循环看看值范围包含什么。
使用for-in循环中,我们可以看到封闭范围包含所有值在给定的范围包括(1)和(3)上部低绑定值。
半开放的范围(下界. .< 上界)
范围使用半开放范围运算符创建称为半开放的范围,它包括所有从下界值上限但不包括上界值。
示例2:使用for-in循环打印半开放范围值
// 1..<
3 定义一个包含值1,2的范围
for value in 1..<
3 {
print(value)
}
在上面的例子中,我们使用了for-in循环来查看半开范围的工作方式。
不打印所有的值,我们可以清楚地看到使用半开运算符只打印1和2,它排除了上界值(即3)。
单侧范围单侧范围是指尽可能朝一个方向延伸的范围,它可以使用半开域操作符和闭域操作符创建,但是操作符只能在一边有一个值。
例3:小于2的单侧范围
let range = ..<
2
print(range.contains(-1))
print(range.contains(2))
上面的示例使用半开值域运算符创建一个单侧值域,其中包含任何小于2的数字。
为了验证我们的结果,我们使用了contains方法。如果元素位于范围内,contains方法只返回true,否则将返回false。
contains(-1)检查-1是否位于范围内。因为,它的单侧值域的上限为2,而-1 < 2它位于值域内,并且print(range.contains(-1))在屏幕上的输出为true。
但是,由于半开值域运算符的原因,上界值(2)不包含在值域内,因此,range.contains(2)返回false。
例4:从2开始的单侧范围
let range = 2...
print(range.contains(100))
print(range.contains(1))
上面的示例创建一个单侧范围使用封闭的操作符,其中包含数量从2到任何值大于2。
contains(100)检查100是否位于范围内。因为它的单侧范围和100都大于2,所以它位于范围内,并且在屏幕上打印为true。
然而,它有一个下界值(2),所以range.contains(1)返回false。
Swift使用范围range的注意事项一个范围的开始必须小于或等于它的结束。在我们的示例中(下界…上界),下界值必须小于上界值,但是,它可以是一个负值。
例子:
3...1// 致命错误: Can't form Range with upperBound <
lowerBound
-3...1 // 这是一个有效的范围。下界/上界可以包含一个负值,但是应该对上面的语句有效。
我们可以使用for-in循环遍历范围(不包括单边范围)。
【swift range范围 – Swift最新教程】我们还可以使用范围运算符来访问数组的元素。
推荐阅读
- swift函数重载 – Swift最新教程
- swift递归函数 – Swift最新教程
- swift嵌套函数 – Swift最新教程
- swift函数参数和返回值 – Swift最新教程
- swift定义和调用函数解析 – Swift最新教程
- swift字典用法和操作全解 – Swift最新教程
- swift集合的使用和操作全解 – Swift最新教程
- swift数组的使用和操作全解 – Swift最新教程
- swift guard语句 – Swift最新教程