《從零開始學Swift》學習筆記(Day 49)——擴展聲明

原創文章,歡迎轉載。轉載請注明:關東升的博客

聲明擴展的語法格式如下:
extension 類型名 {???
??? //添加新功能
}
聲明擴展的關鍵字是extension,“類型名”是Swift中已有的類型,包括類、結構體和枚舉,但是我們仍然可以擴展整型、浮點型、布爾型、字符串等基本數據類型,這是因為這些類型本質上也是結構體類型。打開Int的定義如下:
struct Int : SignedInteger {
??? init()
??? init(_ value: Int)
??? static func convertFromIntegerLiteral(value: Int) -> Int
??? typealias ArrayBoundType = Int
??? func getArrayBoundValue() -> Int
??? static var max: Int { get }
??? static var min: Int { get }
}
從定義可見Int是結構體類型。不僅是Int類型,我們熟悉的整型、浮點型、布爾型、字符串等數據類型本質上都是結構體類型。
Swift中的擴展機制可以在原始類型中添加的新功能包括:
??實例計算屬性和類型計算屬性
??實例方法和類型方法
??構造函數
??下標
還有嵌套類型等內容也可以擴展,擴展還可以遵從協議。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,890評論 1 10
  • 132.轉換錯誤成可選值 通過轉換錯誤成一個可選值,你可以使用 try? 來處理錯誤。當執行try?表達式時,如果...
    無灃閱讀 1,291評論 0 3
  • 1、范型范型所解決的問題 函數、方法、類型:類,結構體,枚舉,元組類型,協議參數,返回值,成員函數參數,成員屬性類...
    我是小胡胡123閱讀 863評論 0 1
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile麗語閱讀 3,864評論 0 6
  • 又到端陽艾草芳,汨羅江畔擲粽忙。 不為魚鱉飽其腹,但求屈公得安詳。 “清濁醉醒”孰人知,漁夫不遜楚懷...
    香草a閱讀 179評論 0 2