Swift类型参考!

本文详细探讨了Swift中的类型系统,包括命名型类型(如类、结构体、枚举和协议)、复合型类型(如函数类型、元组类型、数组类型和可选类型),以及类型注解、类型推断等概念。通过类型注解和类型标识符,开发者可以明确指定变量或表达式的类型。Swift的元组类型允许函数返回多个值,而函数类型描述了函数参数和返回值的类型。此外,文章还介绍了可选类型和隐式解析可选类型,提供了类型推断的示例,帮助理解Swift的类型系统。
摘要由CSDN通过智能技术生成

Swift 语言存在两种类型:命名型类型和复合型类型。命名型类型是指定义时可以给定名字的类型。命名型类型包括类、结构体、枚举和协议。比如,一个用户定义的类MyClass的实例拥有类型MyClass。除了用户定义的命名型类型,Swift 标准库也定义了很多常用的命名型类型,包括那些表示数组、字典和可选值的类型。

那些通常被其它语言认为是基本或初级的数据型类型(Data types)——比如表示数字、字符和字符串——实际上就是命名型类型,Swift 标准库是使用结构体定义和实现它们的。因为它们是命名型类型,因此你可以按照“扩展和扩展声明”章节里讨论的那样,声明一个扩展来增加它们的行为以适应你程序的需求。

复合型类型是没有名字的类型,它由 Swift 本身定义。Swift 存在两种复合型类型:函数类型和元组类型。一个复合型类型可以包含命名型类型和其它复合型类型。例如,元组类型(Int, (Int, Int))包含两个元素:第一个是命名型类型Int,第二个是另一个复合型类型(Int, Int).

本节讨论 Swift 语言本身定义的类型,并描述 Swift 中的类型推断行为。

类型的语法: type → array-type | function-type | type-identifier | tuple-type | optional-type | implicitly-unwrapped-optional-type | protocol-composition-type | metatype-type

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS开发交流群:130 595 548,不管你是小白还是大牛都欢迎入驻 ,让我们一起进步,共同发展!(群内会免费提供一些群主收藏的免费学习书籍资料以及整理好的几百道面试题和答案文档!)

类型注解

类型注解显式地指定一个变量或表达式的值。类型注解始于冒号:终于类型,比如下面两个例子:

1.  let someTuple:(Double, Double) = (3.14159, 2.71828)
2.  func someFunction(a: Int){ /* ... */ }

在第一个例子中,表达式someTuple的类型被指定为(Double, Double)。在第二个例子中,函数someFunction的参数a的类型被指定为Int。

类型注解可以在类型之前包含一个类型特性(type attributes)的可选列表。

类型注解的语法: type-annotation → :attributes[opt] type

类型标识符

类型标识符引用命名型类型或者是命名型/复合型类型的别名。

大多数情况下,类型标识符引用的是同名的命名型类型。例如类型标识符Int引用命名型类型Int,同样,类型标识符Dictionary<String, Int>引用命名型类型Dictionary<String, Int>。

在两种情况下类型标识符引用的不是同名的类型。情况一,类型标识符引用的是命名型/复合型类型的类型别名。比如,在下面的例子中,类型标识符使用Point来引用元组(Int, Int):


1.  typealias Point = (Int, Int)
2.  let origin: Point = (0, 0)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值