swift學習:下標指令碼
阿新 • • 發佈:2018-12-10
定義:
下標指令碼 可以定義在類(Class)、結構體(structure)和列舉(enumeration)這些目標中,可以認為是訪問物件、集合或序列的快捷方式,不需要再呼叫例項的特定的賦值和訪問方法。
舉例來說,用下標指令碼訪問一個數組(Array)例項中的元素可以這樣寫 someArray[index] ,訪問字典(Dictionary)例項中的元素可以這樣寫 someDictionary[key]。
對於同一個目標可以定義多個下標指令碼,通過索引值型別的不同來進行過載,而且索引值的個數可以是多個。
舉個例子:
語法類似於例項方法和計算型屬性的混合。
與定義例項方法類似,定義下標指令碼使用subscript關鍵字,顯式宣告入參(一個或多個)和返回型別。
與例項方法不同的是下標指令碼可以設定為讀寫或只讀。這種方式又有點像計算型屬性的getter和setter:
struct subexample { let decrementer: Int subscript(index: Int) -> Int { return decrementer / index } } let division = subexample(decrementer: 100) print("100 除以 9 等於 \(division[9])") print("100 除以 2 等於 \(division[2])") print("100 除以 3 等於 \(division[3])") print("100 除以 5 等於 \(division[5])") print("100 除以 7 等於 \(division[7])")