Android转Swift开发者:数组中Open Range Operator的用法疑问
Swift数组中
1...部分范围运算符的用法 没错,array[1...]确实表示从索引1的元素开始,遍历到数组的末尾。
你提到的“Open Range运算符(准确说是部分起始范围运算符 Partial Range From)”单独使用时确实代表从起始值到无穷大的范围,但当它作为数组下标使用时,Swift会自动将其边界限制在数组的有效索引范围内——也就是数组最后一个元素的索引,不会真的去访问“无穷大”的位置(毕竟数组是有限元素集合)。
结合你给出的代码补充两个细节:
- 代码里的注释
//1st element from the Array写错了,数组索引从0开始,array[1...]对应的是第二个及之后的元素,第一个元素是array[0]。 array[1...]返回的是ArraySlice<Int>类型,它是原数组的视图,遍历的时候会依次拿到从索引1到数组最后一个位置的所有元素。如果传入的数组长度≤1,这个切片就是空的,for循环不会执行。
内容的提问来源于stack exchange,提问作者Amey079
相关产品推荐
相关产品推荐

