加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

《从零开始学Swift》学习笔记(Day 49)——扩展声明

发布时间:2020-12-14 18:53:29 所属栏目:百科 来源:网络整理
导读:?? 原创文章,欢迎转载。转载请注明:关东升的博客 声明扩展的语法格式如下: extension 类型名 { // 添加新功能 } 声明扩展的关键字是 extension ,“类型名”是 Swift 中已有的类型,包括类、结构体和枚举,但是我们仍然可以扩展整型、浮点型、布尔型、字
??


原创文章,欢迎转载。转载请注明:关东升的博客

声明扩展的语法格式如下:

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

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

  • 实例方法和类型方法

  • 构造函数

  • 下标

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

欢迎关注关东升新浪微博@tony_关东升。
关注智捷课堂微信公共平台,了解最新技术文章、图书、教程信息
?更多精品iOSCocos、移动设计课程请关注智捷课堂官方网站:http://www.zhijieketang.com智捷课堂论坛网站:http://51work6.com/forum.php

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读