swift从入门到精通课件章.pdf
本章主要内容
5.1计算机如何识数——数制5.6类型继承子句
5.2数据类型字面值5.7类型推断
5.3Swift类型5.8类型别名
5.4高级数据类型——元组类型
5.5其他数据类型
5.1计算机如何识数——数制
5.1.1二进制
5.1.2八进制
5.1.3十六进制
5.2数据类型字面值
5.2.1整型字面值浮
5.2.2点型字面值字
5.2.3符型字面值字
5.2.4符串字面值布
5.2.5尔型字面值
5.3Swift类型
5.3.1类型注解
5.3.2类型标识符
5.4高级数据类型——元组类型
5.4.1元组类型字面量
5.4.2元组类型的常量/变量
5.5其他数据类型
5.5.1函数类型
5.5.2数组类型
5.5.3可选类型
5.5.4隐式解析可选类型
5.5.5协议合成类型
5.5.6元类型
5.6类型继承子句
类型继承子句被用来指定一个命名型类型继承哪个类且适配哪些协议。类型继承子
句开始于冒号(:),紧跟由“,”隔开的类型标识符列表。
类可以继承单个超类,适配任意数量的协议。当定义一个类时,超类的名字必须出
现在类型标识符列表首位,然后跟上该类需要适配的任意数量的协议。如果一个类
不是从其他类继承而来,那么列表可以以协议开头。
其名型类型可能只继承或适配一个协议列表。协议类型可能继承于其他任意数
量的协议。当一个协议类型继承于其他协议时,其他协议的条件集合会被集成在一
起,然后其他从当前协议继承的任意类型必须适配所有这些条件。
枚举定义中的类型继承子句可以是一个协议列表,或是指定原始值的枚举,一个单
独的指定原始值类型名型类型。
5.7类型推断
wift广泛地使用类型推断,从而允许你可以忽略很多变量和表达式的类型或部分类型
。比如,对于varx:Int=0,可以完全忽略类型而简写成varx=0—编译器会正确地
推断出x的类型Int。类似地,当完整的类型可以从上下文推断出来时,也可以忽略类
型的一部分。比如,如果写了letdict:Dictionary=[A:1],编译器也能推断出dict
的类型是DictionaryString,Int。
5.8类型别名
型别名就是为现有类型定义的替代名称。类型别名可以帮助开发者使用更加符合开
发场景的名字来指定一个已存在的类型,可以使用typealias关键字实现对于类型别
名的定义。其语法如下。
ypealias类型别名数据类型名称