16-区间类型
区间类型用于表示拥有固定步长的序列。作用是方便开发者获取一段特定范围的内容。它的用法包含三个值:
- start 表示开始
- end 表示结束
- step 表示步长
比如:
javascript
0..4=1 // 0、1、2、3、4
- 0 表示开始
- 4 表示结束
- 1 表示步长
所以结果表示 0、1、2、3、4
区间类型字面量有两种形式
- 左闭右开
- 左闭右闭
这里的闭意思是包含、开表示不包含
左闭右开
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}")
}
左闭右闭
javascript
let range1 = 0..4 = 1 // range1 = 0、1、2、3、4
总结
左闭右开
0..4 : 1
0、1、2、3左闭右闭
0..4 = 1
0、1、2、3、4