endIndex返回与count相同的值.这是正确的行为还是错误?
var ar = [1, 2, 3, 4]
ar.count // 4
ar.endIndex // 4
Run Code Online (Sandbox Code Playgroud)
jtb*_*des 25
count
是集合中的项目的数目,而endIndex
是Index
(从Indexable
协议),其是刚刚过去的集合的末尾.
因为Array
,这些都是一样的.对于其他一些集合,例如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
Run Code Online (Sandbox Code Playgroud)
Cod*_*aFi 11
Array.endIndex
为迭代目的而不是下标,意味着是数组末尾的1(或与count相同).
let x = [1, 2, 3, 4]
for var i = x.startIndex; i < x.endIndex; i++ {
println(x[i])
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4521 次 |
最近记录: |