虽说 Swift 是开发 iOS 及 OS
X 应用的一门新编程语言,但它的开发体验与 C 或 Objective-C 有很多相似之处。 Swift 重新实现了 C 与 Objective-C 中的所有基础类型,包括表示整数的 Int,表示浮点数的 Double 与 Float,表示布尔值的 Bool,以及表示纯文本数据的 String。 Swift 还为两个基本集合类型 Array 与 Dictionary 提供了强大的支持,详情可参考集合类型。 与 C 语言类似,Swift 也采用变量存储数据,并通过标识符来引用变量值。 Swift 还扩充了值不可变的量——常量的用法,使它比 C 语言中的常量强大得多。当在 Swift 中操作不需要改变值的数据时,使用常量可使代码更安全、更简洁。 除常见类型以外,Swift 还引入了Objective-C 中不存在的高级类型,其中包括元组(tuple),可以新建或传递一组值。函数可以将多个值作为整体(单个元组值)返回给调用方。 Swift 还引入了可选量,可处理不存在的值。可选量可以“存在一个值 x”,也可以“不存在任何值”。可选量与 Objective-C 为指针赋 nil 相似,但在 Swift 中可以对任意类型使用,而不只针对类。可选量比 Objective-C 的 nil 指针更安全且语义更丰富,在 Swift 最强大的诸多功能中得到了深入的应用。 可选量是 Swift 类型安全的一点体现。Swift 可帮助你清晰地了解代码能处理的数据类型。如果代码希望得到 String 数据,类型安全的特性将阻止你偶然将 Int 传递过去。这样可以在开发过程中尽可能早地发现与修正问题。 1.1常量与变量 常量及变量将名称(如maximumNumberOfLoginAttempts 或 welcomeMessage) 与特定类型的值(如数字 10 或字符串"Hello")关联起来。常量一旦赋值,其值不可再改变;而变量以后还可以改赋不同的值。 1.常量及变量的声明 常量与变量在使用之前必须声明。使用 let 关键词声明常量,使用 var关键词声明变量。下面是可以跟踪用户登录次数的常量与变量的例子: let maximumNumberOfLoginAttempts = 10 // 允许尝试登录的次数
var currentLoginAttempt = 0 // 已经尝试登录的次数
这段代码可以这样理解: “声明一个新的常量,其名称为 maximumNumberOfLoginAttempts,并将其赋值为 10。然后,声明一个新的变量,其名称为 currentLoginAttempt,并赋初始值为 0。” 在本例中,允许尝试的最多登录次数作为常量声明,因为允许的次数在执行时永远不会发生变化。当前已尝试次数的计数器作为变量声明,因为该值必须在登录失败时递增。 可以在同一行声明多个常量或变量,以逗号分隔: var x = 0.0, y = 0.0, z = 0.0