跳到主要内容

Swift中的范围

提示
  1. 范围的基本概念:Swift中的范围表示两个数之间的一系列值,使用特定的操作符定义,如闭区间范围(...)包含所有值。
  2. 不同类型的范围:存在闭区间范围(包含上下界),半开区间范围(不包含上界),以及单侧范围(只有一端限制)。
  3. 范围的应用:范围可用于for循环迭代、数组元素访问,要求下界小于上界,支持负数范围。

在 Swift 中,范围是两个数字间隔之间的一系列值。例如,

var numbers = 1...4

这里,

  • ... 是一个范围操作符
  • 1...4 包含值 1234
  • 1下界(第一个元素)
  • 4上界(最后一个元素)

Swift 中的范围类型

在 Swift 中,有三种类型的范围:

1. 闭区间范围

闭区间范围包含从下界到上界的所有值。

它使用 ...(3个点)操作符声明。例如,

// 1...4 是闭区间范围
for numbers in 1...4 {
print(numbers)
}

输出

1
2
3
4

在上述示例中,我们创建了一个闭区间范围 1...4

由于它是闭区间范围,它包含了从 14 的所有数字,包括下界(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+∞ 的所有元素。

我们可以通过检查某个数字是否在范围内来验证这一点。例如,

// 使用 ..< 操作符的单侧范围
let range1 = ..<2

// 检查 -9 是否在范围内
print(range1.contains(-1))

// 使用 ... 操作符的单侧范围
let range2 = 2...

// 检查 33 是否在范围内
print(range2.contains(33))

输出

true
true

这里,我们使用了 contains() 方法来检查某个数字是否在范围内。

注意:对于单侧范围,我们只设定上界或下界。

使用 Swift 范围访问数组元素

我们还可以使用 Swift 范围来访问数组元素。例如,

let languages = ["Swift", "Java", "C"]

// 访问数组元素
print(languages[0...2])

输出

["Swift", "Java", "C"]

这里,范围 0...2 作为数组索引,帮助我们访问所有数组元素。

关于 Swift 范围的注意事项

  1. 下界值必须小于上界值。例如,
// 无效的范围
3...1

// 有效的范围
1...3
  1. 下界和上界值可以是负数。例如,
// 负数下界
-3...1

// 负数下界和上界
-9...-2