二、整型
Swift提供8、16、32、64位形式的有符号及无符号整数。关于这些整数类型的命名规范可以参见表2-1。
表2-1数据类型
数据类型
名称
说明
Int8
有符号8位整型
Int16
有符号16位整型
Int32
有符号32位整型
Int64
有符号64位整型
Int
平台相关有符号整型
在32位平台,Int与Int32宽度一致
在64位平台,Int与Int64宽度一致
UInt8
无有符号8位整型
UInt16
无有符号16位整型
UInt32
无有符号32位整型
UInt64
无有符号64位整型
UInt
平台相关无符号整型
在32位平台,UInt与UInt32宽度一致
在64位平台,UInt与UInt64宽度一致
除非要求固定宽的整型,一般我们只使用Int或UInt,这些类型能够与平台保持一致。下面我们来看一个整型示例:
1 | import Foundation
2 | print("UInt范围:\(UInt.min)~\(UInt.max)")
3 | print("Int范围:\(Int.min)~\(Int.max)")
输出结果如下
UInt范围:0~18446744073709551615
Int范围:-9223372036854775808~9223372036854775807
上述代码是通过整数的min和max属性计算个类型的范围。min属性获得当前整数的最小值, max属性获得当前整数的最大值。关于其他整型数据的范围可以例子中的写法一致。
整型数据同布尔类型数据一样,在不声明数据类型的时候,Swift语言会对该数据类型进行自行推断。整型数据采用进制数作为整型数据的表示方式。
我们为一个整数变量赋值十进制数、二进制数、八进制数、十六进制数。它们的表示方式如下:
二进制数,以0b为前缀,0是阿拉伯数字,不要误以为是字母o,b是小写字母b,不能大写;
八进制数,以0o为前缀,第一个字符是阿拉伯数字0,第二个字符是小写字母o,必须小写;
十六进制数,以0x为前缀,第一个字符是阿拉伯数字0,第二个字符是小写字母x,必须小写。
例如下面语句都是整型10值给常量:
1 | let decimalInt =10
2 | let binaryInt = 0b1010
3 | let octalInt = 0o12
4 | let hexadecimalInt = 0xA
上述代码,第1行代码用十进制表示整型数据10。第2行代码用二进制表示整型数据10。第3行代码用八进制表示整型数据10。第4行代码用十六进制表示整型数据10。
除此之外,在Swift中,为了阅读的方便,对于较大的整数可添加多个零或下划线以提高可读性,这种方式均不会影响实际值。示例代码如下:
1 | var myMoney = 3_360_000
2 | var phone = 136_2456_4678
第1行代码定义了整型变量myMone,并赋值为3360000,这里我在3_360_000中间添加了2个下划线,这样便于阅读,第2行代码136_2456_4678是一个手机号码,采用下划线分隔,更容易阅读。下划线一般是三位加一个。