我们使用任何编程语言是,需要使用不同的数据类型来存储不同的信息。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。Swift 编程中可以在声明中指定变量的数据类型,她也支持类型推断。所有变量都具有数据类型,这样才能决定存储哪种类型的数据。
内置数据类型
Swift 提供了非常丰富的数据类型,以下列出了常见的几种数据类型:
- Int
一般来说,你不需要专门指定整数的长度。Swift 提供了一个特殊的整数类型Int,长度与当前平台的原生字长相同:- 在32位平台上,Int和Int32长度相同。
- 在64位平台上,Int和Int64长度相同。
- UInt:无符号类型 与Int类似,长度与当前平台的原生字长相同。
- 浮点数:Float 、Double
- Double 表示64位浮点数。当你需要存储很大或者很高精度的浮点数时请使用此类型。
- Float 表示32位浮点数。精度要求不高的话可以使用此类型。
- Double精确度很高,至少有15位数字,而 Float 最少只有6位数字。选择哪个类型取决于你的代码需要处理的值的范围。
- 布尔值:Bool Swift 有两个布尔常量,true 和 false。
- 字符串:String 例如:”hello world"
- 字符: Character 例如:”C"
- 可选类型:Optional 使用可选类型来处理值可能缺失的情况。可选类型表示有值或没有值。
Swift 其他数据特征
- 类型别名:类型别名通过使用 typealias 关键字来定义。例如:
typealias Feet = Int //Feet 是Int类型的别名
- 类型安全:Swift 是一个类型安全(type safe)的语言。它会在编译你的代码时进行类型检查(type checks),并把不匹配的类型标记为错误。这可以让你在开发的时候尽早发现并修复错误。
- 类型推断:当你要处理不同类型的值时,类型检查可以帮你避免错误。然而,这并不是说你每次声明常量和变量的时候都需要显式指定类型。如果你没有显式指定类型,Swift 会使用类型推断(type inference)来选择合适的类型。例如,如果你给一个新常量赋值42并且没有标明类型,Swift 可以推断出常量类型是Int,因为你给它赋的初始值看起来像一个整数:
let age = 42 // age 被推断为Int类型