`

《从零开始学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中的扩展机制可以在原始类型中添加的新功能包括: 

  • 实例计算属性和类型计算属性

  • 实例方法和类型方法

  • 构造函数

  • 下标 

还有嵌套类型等内容也可以扩展,扩展还可以遵从协议。 

 

 

 

 

 

 

 

  • 大小: 21.1 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics