Swift的数据类型包括:整型(Int)、浮点型(Double,Float)、布尔类型(Bool)、字符串(String),元组、集合、枚举、结构体和类等。
这些数据类型按照参数传递的不同分为值类型和引用类型,其中类属于引用类型,其他都属于值类型。值类型在赋值或作为函数参数传递时,会创建一模一样的副本,把副本传过去,原始数据不受影响。引用类型在赋值或作为函数参数传递时,会把值本身传过去,当函数改变了参数值时,原始值也受到了影响。
整型
1.整型按照有无符号可以分为两种:
- 有符号的整型,能表示正数、零和负数;
- 无符号的整型,能表示正数和零,不能表示负数。
2.通过访问不同整数类型的min和max属性可以获取对应类型的最大值和最小值。
let minValue = UInt8.min // minValue为0.是UInt8类型
let maxValue = UInt8.max // maxValue为255,是UInt8类型
print("UInt8的最小值为\(minValue),最大值为\(maxValue)")
3.整型字面量可用不同的进制表示,一般有如下四种形式。
(1)十进制数,没有前缀。
(2)二进制数,前缀是0b。
(3) 八进制数,前缀是0o。
(4) 十六进制, 前缀是0x.
十六进制字面量包含数字09及字母AF(大小写均可)
浮点型
1.Swift提供了两种有符号的浮点数类型,分别是Double和Float.
- Double:64位浮点数
- Float:32位浮点数
2.在Swift中,可以给整型和浮点型添加0或者下划线(_)用于分隔数值,提高数值的可读性,并不影响实际值。
let a = 3_500_000 // 一般每三个数字添加一个下划线
var b =003.1415
3.浮点型字面量
浮点型字面量有十进制(没有前缀)和十六进制(前缀是0x)两种形式。小数点两边必须有至少一个数字。浮点字面量还可以用指数来表示,包括以下两种。
(1)十进制浮点数的指数通过大写或小写e来指定,假设十进制数的指数为exp,那这个数相当于基数乘以10^exp.
- 1.25e2表示1.25 * 10 ^ 2
- 1.25e-2表示1.25 * 10^-2
(2)十六进制浮点数通过大写或者小写的p来指定。假设十六进制的指数为exp,那这个数相当于基数乘以2^exp。
- 0xFp2 表示15*2^2
*0xFp-2表示15 *2^-2
布尔类型(Bool)
Swift中布尔类型的值只能为true或者false,其中,true表示真,false表示假。
let i = 1
if i {
// 这个例子不会通过编译,会报错
}
if i == 1{
// 这个例子可以编译成功
}
由于表达式(i == 1)的比较结果是Bool类型的,可以作为逻辑值使用,所以能够编译成功。
网友评论