Swift整数(Int|UInt)
整数类型是指的没有小数部分的数字,比如42和-23,整数可以是有符号的(正整数,零或者负整数) 或者无符号的(正整数或者零)。
Swift提供的有符号的整数和无符号的整数有8,16,32,64位形式。这些整数命名规则遵循C中惯例,UInt8 代表8位无符号整数,Int32代表32位有符号整数。这些整数有大写的名字。
除非你需要使用某一大小的整数,那么请一直在代码中使用Int, 这有助于提升代码的一致性和互通性。即使在32位机器上,Int也可以存储-2,147,483,648 到 2,147,483,647范围类的值,这对于许多整数范围已经足够了。
注意:仅在你有特定需求的时候使用和平台原生字大小相同的无符号类型整数UInt, 其他时候推荐使用Int,即使储存的数值已经知道是非负数的。对Int一致性使用能够使代码更具互通性,并且避免了在不同数值类型间转化的需求,这和整数类型推测是匹配的。
Swift提供的有符号的整数和无符号的整数有8,16,32,64位形式。这些整数命名规则遵循C中惯例,UInt8 代表8位无符号整数,Int32代表32位有符号整数。这些整数有大写的名字。
整数范围
你可以通过min和max属性访问整数的最大值和最小值:let minValue = Uint8.min // minValue is equal to 0, and is of type Uint8 let maxValue = Uint8.max // maxValue is equal to 255, and is of type Uint8这些属性值是数字类型的恰当大小(比如上面UInt8的例子) 也因此可以和其他同类型的值用于一个表达式中。
Int
在更多的情况下,你不需要在代码中指定整数的大小,Swift提供了另外一个整数类型Int,该类型会和当前的操作系统平台原生字大小匹配:- 对于32位平台,Int大小和Int 32相同。
- 对于64位平台,Int大小和Int 64相同。
除非你需要使用某一大小的整数,那么请一直在代码中使用Int, 这有助于提升代码的一致性和互通性。即使在32位机器上,Int也可以存储-2,147,483,648 到 2,147,483,647范围类的值,这对于许多整数范围已经足够了。
UInt
Swift也提供了无符号的整数类型,该类型会和当前的操作系统平台原生字大小匹配:- 对于32位平台,UInt大小和UInt 32相同。
- 对于64位平台,UInt大小和UInt64相同。
注意:仅在你有特定需求的时候使用和平台原生字大小相同的无符号类型整数UInt, 其他时候推荐使用Int,即使储存的数值已经知道是非负数的。对Int一致性使用能够使代码更具互通性,并且避免了在不同数值类型间转化的需求,这和整数类型推测是匹配的。