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

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

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

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

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

extension类型名{
//添加新功能
}


声明扩展的关键字是extension,“类型名”是Swift中已有的类型,包括类、结构体和枚举,但是我们仍然可以扩展整型、浮点型、布尔型、字符串等基本数据类型,这是因为这些类型本质上也是结构体类型。打开Int的定义如下:

structInt:SignedInteger{
init()
init(_value:Int)
staticfuncconvertFromIntegerLiteral(value:Int)->Int
typealiasArrayBoundType=Int
funcgetArrayBoundValue()->Int
staticvarmax:Int{get}
staticvarmin:Int{get}
}


从定义可见Int是结构体类型。不仅是Int类型,我们熟悉的整型、浮点型、布尔型、字符串等数据类型本质上都是结构体类型。

Swift中的扩展机制可以在原始类型中添加的新功能包括:

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

  • 实例方法和类型方法

  • 构造函数

  • 下标

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

欢迎关注关东升新浪微博@tony_关东升。
关注智捷课堂微信公共平台,了解最新技术文章、图书、教程信息

wKioL1bZFPfDJHr4AAAs2MBEZnc220.png

更多精品iOSCocos、移动设计课程请关注智捷课堂官方网站:http://www.zhijieketang.com智捷课堂论坛网站:http://51work6.com/forum.php

(编辑:李大同)

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

    推荐文章
      热点阅读