Swift文件Chapter 12 下標
阿新 • • 發佈:2022-01-24
下標可以定義在類,結構體和列舉中。是訪問集合,列表或者序列中元素的快捷方式。
一個型別可以定義多個下標,通過不同的索引型別進行過載。下標不限於一維,可以定義有多個入參的下標滿足自定義需求。
下標語法
下標語法通過方括號傳入一個或者多個索引值對例項進行存取。語法類似於例項方法語法和計算型屬性語法的混合。定義下標使用subscript
,第一一個或多個輸入引數和返回型別。與例項方法不同的是,下標可以設定為讀寫或只讀。這種行為由getter
和setter
實現,有點類似計算型屬性:
subscript(index: Int) -> Int { get { // 返回一個適當的 Int 型別的值 } set(newValue) { // 執行適當的賦值操作 } }
newValue
和返回值屬性相同,如果不指定setter引數,預設為newValue
為預設引數。如果是隻讀計算型屬性,那麼可以省略get
語句。
subscript(index: Int) -> Int {
// 返回一個適當的 Int 型別的值
}
下標用法
下標選項
下標可以接受任意數量的入參,入參可以是任意型別。下標返回值可以是任意型別。如果需要多個下標實現需要依靠不同的入參型別和數量進行區分,這就是下標的過載。
型別下標
可以在subscript
前加入static
定義型別下標。如果使用class
可以允許在子類中重寫父類的方法。