用法一
subscript(_:)
聲明
subscript(index: Int) -> Element { get set }
參數
index
要訪問的元素的位置。
index
必須大於或等於startIndex
且小於endIndex
。
概述
以下示例使用索引下標來更新數組的第二個元素。在特定位置分配新值 ("Butler"
) 後,該值在同一位置立即可用。
var streets = ["Adams", "Bryant", "Channing", "Douglas", "Evarts"]
streets[1] = "Butler"
print(streets[1])
// Prints "Butler"
可用版本
用法二
subscript(_:)
聲明
subscript(bounds: Range<Self.Index>) -> Slice<Self> { get set }
參數
bounds
一係列集合的索引。範圍的邊界必須是集合的有效索引。
概述
訪問的切片對與原始集合相同的元素使用相同的索引。始終使用切片的 startIndex
屬性,而不是假設其索引從特定值開始。
此示例演示獲取字符串數組的切片,查找切片中字符串之一的索引,然後在原始數組中使用該索引。
var streets = ["Adams", "Bryant", "Channing", "Douglas", "Evarts"]
let streetsSlice = streets[2 ..< streets.endIndex]
print(streetsSlice)
// Prints "["Channing", "Douglas", "Evarts"]"
let index = streetsSlice.firstIndex(of: "Evarts") // 4
streets[index!] = "Eustace"
print(streets[index!])
// Prints "Eustace"
可用版本
用法三
subscript(_:)
聲明
subscript<R>(r: R) -> Self.SubSequence where R : RangeExpression, Self.Index == R.Bound { get }
參數
bounds
一係列集合的索引。範圍的邊界必須是集合的有效索引。
概述
範圍表達式轉換為相對於該集合的具體子範圍。例如,將 PartialRangeFrom
範圍表達式與數組一起使用會訪問從範圍表達式開頭到數組結尾的子範圍。
let streets = ["Adams", "Bryant", "Channing", "Douglas", "Evarts"]
let streetsSlice = streets[2...]
print(streetsSlice)
// ["Channing", "Douglas", "Evarts"]
訪問的切片對與原始集合使用的相同元素使用相同的索引。此示例在 streetsSlice
中搜索切片中的字符串之一,然後在原始數組中使用該索引。
let index = streetsSlice.firstIndex(of: "Evarts") // 4
print(streets[index!])
// "Evarts"
始終使用切片的 startIndex
屬性,而不是假設其索引從特定值開始。嘗試使用切片索引範圍之外的索引訪問元素可能會導致運行時錯誤,即使該索引對原始集合有效。
print(streetsSlice.startIndex)
// 2
print(streetsSlice[2])
// "Channing"
print(streetsSlice[0])
// error: Index out of bounds
可用版本
用法四
subscript(_:)
聲明
subscript(bounds: Range<Int>) -> ArraySlice<Element> { get set }
參數
bounds
整數範圍。範圍的邊界必須是數組的有效索引。
概述
返回的ArraySlice
實例對與原始數組相同的元素使用相同的索引。特別是,與數組不同,該切片可能具有非零 startIndex
和不等於 count
的 endIndex
。始終使用切片的 startIndex
和 endIndex
屬性,而不是假設其索引以特定值開始或結束。
此示例演示獲取字符串數組的切片,查找切片中字符串之一的索引,然後在原始數組中使用該索引。
let streets = ["Adams", "Bryant", "Channing", "Douglas", "Evarts"]
let streetsSlice = streets[2 ..< streets.endIndex]
print(streetsSlice)
// Prints "["Channing", "Douglas", "Evarts"]"
let i = streetsSlice.firstIndex(of: "Evarts") // 4
print(streets[i!])
// Prints "Evarts"
可用版本
相關用法
- Swift Array suffix(_:)用法及代碼示例
- Swift Array suffix(from:)用法及代碼示例
- Swift Array sort()用法及代碼示例
- Swift Array split(maxSplits:omittingEmptySubsequences:whereSeparator:)用法及代碼示例
- Swift Array shuffle(using:)用法及代碼示例
- Swift Array shuffled()用法及代碼示例
- Swift Array shuffled(using:)用法及代碼示例
- Swift Array shuffle()用法及代碼示例
- Swift Array sorted()用法及代碼示例
- Swift Array sort(by:)用法及代碼示例
- Swift Array split(separator:maxSplits:omittingEmptySubsequences:)用法及代碼示例
- Swift Array sorted(by:)用法及代碼示例
- Swift Array starts(with:)用法及代碼示例
- Swift Array enumerated()用法及代碼示例
- Swift Array allSatisfy(_:)用法及代碼示例
- Swift Array removeFirst()用法及代碼示例
- Swift Array removeSubrange(_:)用法及代碼示例
- Swift Array max()用法及代碼示例
- Swift Array prefix(through:)用法及代碼示例
- Swift Array reduce(into:_:)用法及代碼示例
- Swift Array dropLast(_:)用法及代碼示例
- Swift Array max(by:)用法及代碼示例
- Swift Array +=(_:_:)用法及代碼示例
- Swift Array +(_:_:)用法及代碼示例
- Swift Array reverse()用法及代碼示例
注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 Array subscript(_:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。