Swift数据类型(基础篇)
1. 变量与常量
常量和变量都需要在使用前进行声明,使用var和let来声明变量或者常量
比如这样:
let maxNumberOfLoginAttempts = 5
var currentLoginAttempts = 2
以上代码中:
maxNumberOfLoginAttempts 为常量,并赋值 5。
currentLoginAttempts 为 Int 型变量。
swift可以自动识别变量类型,并进行赋值。
2. 类型标注
swift可以在变量定义时候自动识别类型,但是也可以通过类型标注进行定义变量。
如果需要添加类型标注,需要在声明的变量名后边加上冒号和空格,再标注变量的数据类型,例子如下:
var name: String = "swift"
以上代码可以被理解为:声明了一个String类型的变量,名字为name,变量的值为”swift”
3. 整型数据
3.1 Int
在swift中当我们声明变量时,比如这个:
var number = 33
那么swift会将number识别为Int型变量(注意大写的I)关于这个Int类型是这样的:
平台 | 32位 | 64位 |
---|---|---|
字长 | 和Int32字长相同 | 和Int64字长相同 |
也就是说在大多数情况下(除非你在写RSA等大数程序),这个Int类型的数据类型都是足够大的。
3.2 UInt
swift也提供了整数的无符号数类型UInt,与Int相同,常用的该类数据类型有:UInt8,UInt16。
但是请注意,尽量不要使用UInt,统一使用Int可以提高代码的可复用性,避免了不同类型数字的转换。
4. 浮点型数据
和Obj-C类似,提供了Double和Float两种浮点数类型,字长如下表:
平台 | 32位 | 64位 |
---|---|---|
字长 | 32位浮点数 | 64位浮点数 |
声明方法和整型数据类似:
let pi: Double = 3.14159265358979
var e = 2.71828
5. 数据类型转换
SomeType(ofInitialValue)
是调用Swift构造器并传入一个初始值的默认方法。
5.1 整型数据
比如我们可以将UInt8类型数据传入UInt16类型的构造器中,就像这e样:
let three: UInt8 = 3
let twoThousand: UInt16 = 2000
let twoThousandAndOne = UInt16(three) + twoThousand
5.2 整数和浮点数
整数和浮点数的相互转换必须显式地指定数据类型,比如下面这个例子:
let three = 3 //是整型变量Int
let pi = 3.14 //浮点型变量Double
let s = Double(three) + pi
可以尝试一下,如果最后一句改为下面这条语句,会出现什么错误?
let s = three + pi