Swift 区间运算符

在本文中,我们将通过示例了解 Swift 区间(Range)及其类型。

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

  1. var numbers = 1...4

这里,

  • 是一个区间运算符
  • 1…4 包含值 1、2、3、4
  • 1 是下限(第一个元素)
  • 4 是上限(最后一个元素)

Swift 中的区间类型

在 Swift 中,有三种类型的区间:

1. 封闭区间

闭合区间包括从下限到上限的间隔中的所有值。

它使用 (3点)运算符声明。例如,

  1. // 1...4 is close range
  2. for numbers in 1...4 {
  3. print(numbers)
  4. }

结果如下:

  1. 1
  2. 2
  3. 3
  4. 4

在上面的实例中,我们创建了一个闭合区间 1…4

因为它是一个闭合区间,所以它包含 14 之间的所有数字,包括下限(1)和上限(4)。

在这里,我们使用 Swift for 循环 访问区间内的所有值。


2. 半开区间

半开区间包括从下限到上限的所有值。但是,它不包括上限(最后一个数字)。

它是使用 ..< 运算符声明的。例如,

  1. for numbers in 1..<4 {
  2. print(numbers)
  3. }

结果为:

  1. 1
  2. 2
  3. 3

在上面的实例中,我们创建了一个半开区间 1..<4。由于它是一个半开放区间,因此不包括上限元素 4


3. 单边区间

我们可以使用 ..< 运算符创建单边区间。

单边区间包含在一个方向上最多无限的元素。例如,

  1. let range1 = ..<2

包含从 2 到的所有元素 +∞

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

  1. // one-sided range using
  2. // ..< operator
  3. let range1 = ..<2
  4. // check if -9 is in the range
  5. print(range1.contains(-1))
  6. // one-sided range using
  7. // ... operator
  8. let range2 = 2...
  9. // check if 33 is in the range
  10. print(range2.contains(33))

结果如下:

  1. true
  2. tru

这里,我们使用 contains() 方法检查区间中是否存在某个数字。

注意:对于单边区间,我们只设置上限或下限。

使用 Swift 区间访问数组元素

我们还可以使用 Swift 区间访问数组元素。例如,

  1. let languages = ["Swift", "Java", "C"]
  2. // access array elements
  3. print(languages[0...2])

结果如下:

  1. ["Swift", "Java", "C"]

这里,区间 0…2 充当数组索引,帮助我们访问所有数组元素。


Swift 区间的注意事项

1.下限值必须小于上限值。例如,

  1. // Invalid Range
  2. 3...1
  3. // Valid Range
  4. 1...3

2.下限和上限值可以为负值。例如,

  1. // negative lower bound
  2. -3...1
  3. // negative upper and lower bound
  4. -9...-2

分类导航