我已经阅读了多篇关于在`Swift`中如何使用
但是,我找不到它内部是如何工作的?ArraySlice是数组的视图这句话具体指什么?
在上面的代码中,我从
由于
这些文章/帖子可以在这里找到:
ArraySlice
与Array
的文章和帖子。但是,我找不到它内部是如何工作的?ArraySlice是数组的视图这句话具体指什么?
var arr = [1, 2, 3, 4, 5]
let slice = arr[2...4]
arr.remove(at: 2)
print(slice.startIndex) //2
print(slice.endIndex) //5
slice[slice.startIndex] //3
在上面的代码中,我从
arr
中删除了index-2(即3)
处的元素。
Index-2
也是slice
的startIndex
。
当我打印slice[slice.startIndex]
时,它仍然打印3。由于
ArraySlice
没有创建任何额外的存储空间,那么为什么Array
中的任何更改都不会反映在ArraySlice
中?这些文章/帖子可以在这里找到: