swift range范围 – Swift最新教程

上一章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循环遍历范围(不包括单边范围)。

我们还可以使用范围运算符来访问数组的元素。

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?