Skip to content

16-区间类型

区间类型用于表示拥有固定步长的序列。作用是方便开发者获取一段特定范围的内容。它的用法包含三个值:

  1. start 表示开始
  2. end 表示结束
  3. step 表示步长

比如:

javascript
0..4=1  // 0、1、2、3、4
  1. 0 表示开始
  2. 4 表示结束
  3. 1 表示步长

所以结果表示 0、1、2、3、4

区间类型字面量有两种形式

  1. 左闭右开
  2. 左闭右闭

这里的意思是包含、表示不包含

左闭右开

javascript
let range1 = 0..4 : 1  // range1 = 0、1、2、3

需要注意的是 区间类型不是数组,不能直接访问,也不能直接通过索引访问

javascript
    let range1 = 0..4 : 1 // range1 = 0、1、2、3
    println(range1) // expected 'Struct-String', found 'Struct-Range<Int64>'

javascript
    let range1 = 0..4 : 1 // range1 = 0、1、2、3

    println(range1[0]) // you may want to implement 'operator func [](index0: Int64)' for type 'Struct-Range<Int64>'

此时,我们可以通过遍历的方式来访问区间中的元素

javascript
    let range1 = 0..4 : 1 // range1 = 0、1、2、3
    for (i in range1) {
        println("The element is ${i}")
    }

image-20241221082306852

左闭右闭

javascript
let range1 = 0..4 = 1  // range1 = 0、1、2、3、4

总结

  1. 左闭右开 0..4 : 1 0、1、2、3

  2. 左闭右闭 0..4 = 1 0、1、2、3、4

Released under the MIT License.