1. 程式人生 > 其它 >Swift文件Chapter 12 下標

Swift文件Chapter 12 下標

下標可以定義在類,結構體和列舉中。是訪問集合,列表或者序列中元素的快捷方式。
一個型別可以定義多個下標,通過不同的索引型別進行過載。下標不限於一維,可以定義有多個入參的下標滿足自定義需求。

下標語法

下標語法通過方括號傳入一個或者多個索引值對例項進行存取。語法類似於例項方法語法和計算型屬性語法的混合。定義下標使用subscript,第一一個或多個輸入引數和返回型別。與例項方法不同的是,下標可以設定為讀寫或只讀。這種行為由gettersetter實現,有點類似計算型屬性:

subscript(index: Int) -> Int {
    get {
      // 返回一個適當的 Int 型別的值
    }
    set(newValue) {
      // 執行適當的賦值操作
    }
}

newValue和返回值屬性相同,如果不指定setter引數,預設為newValue為預設引數。如果是隻讀計算型屬性,那麼可以省略get語句。

subscript(index: Int) -> Int {
    // 返回一個適當的 Int 型別的值
}

下標用法

下標選項

下標可以接受任意數量的入參,入參可以是任意型別。下標返回值可以是任意型別。如果需要多個下標實現需要依靠不同的入參型別和數量進行區分,這就是下標的過載

型別下標

可以在subscript前加入static定義型別下標。如果使用class可以允許在子類中重寫父類的方法。