Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Swift中数组endIndex的正确行为是什么?_Arrays_Swift - Fatal编程技术网

Arrays Swift中数组endIndex的正确行为是什么?

Arrays Swift中数组endIndex的正确行为是什么?,arrays,swift,Arrays,Swift,endIndex返回与count相同的值。 这是正确的行为还是错误 var ar = [1, 2, 3, 4] ar.count // 4 ar.endIndex // 4 Array.endIndex是指在迭代过程中超过数组末尾的1(或与计数相同),而不是下标 let x = [1, 2, 3, 4] for var i = x.startIndex; i < x.endIndex; i++ { println(x[i]) } 设x=[1,2,3,4] 对于var i=x.s

endIndex返回与count相同的值。 这是正确的行为还是错误

var ar = [1, 2, 3, 4]
ar.count // 4
ar.endIndex // 4

Array.endIndex
是指在迭代过程中超过数组末尾的1(或与计数相同),而不是下标

let x = [1, 2, 3, 4]
for var i = x.startIndex; i < x.endIndex; i++ {
    println(x[i])
}
设x=[1,2,3,4]
对于var i=x.startIndex;i
count
是集合中的项目数,而
endIndex
是刚过集合末尾的项目数

对于
数组
,它们是相同的。对于其他一些集合,例如
ArraySlice
,它们不是:

let array = ["a", "b", "c", "d", "e"]

array.startIndex  // 0
array.count       // 5
array.endIndex    // 5

let slice = array[1..<4]  // elements are "b", "c", "d"

slice.startIndex  // 1
slice.count       // 3
slice.endIndex    // 4
let数组=[“a”、“b”、“c”、“d”、“e”]
array.startIndex//0
array.count//5
array.endIndex//5

让slice=array[1..这样设置
endIndex
的目的是什么?它增加了什么功能,因为这似乎有点违反直觉。对于slice,start/endIndex有点像“标签”在元素中,引用原始数组中的原始位置,这在您想要操纵该位置时非常方便。对于普通数组,endIndex除了count之外没有其他特殊用途。这似乎非常违反直觉