整数就是没有小数部分的数字,比如 42 和 -23 。整数可以是 有符号(正、负、零)或者 无符号(正、零)。
Swift 提供了8、16、32和64位的有符号和无符号整数类型。这些整数类型和 C 语言的命名方式很像,比如8位无符号整数类型是 UInt8
,32位有符号整数类型是 Int32
。就像 Swift 的其他类型一样,整数类型采用大写命名法。
整数范围
你可以访问不同整数类型的 min
和 max
属性来获取对应类型的最小值和最大值:
let minValue = UInt8.min // minValue 为 0,是 UInt8 类型
let maxValue = UInt8.max // maxValue 为 255,是 UInt8 类型
min
和 max
所传回值的类型,正是其所对的整数类型(如上例 UInt8, 所传回的类型是 UInt8),可用在表达式中相同类型值旁。
Int
一般来说,你不需要专门指定整数的长度。Swift 提供了一个特殊的整数类型 Int
,长度与当前平台的原生字长相同:
- 在32位平台上,
Int
和Int32
长度相同。 - 在64位平台上,
Int
和Int64
长度相同。
除非你需要特定长度的整数,一般来说使用 Int
就够了。这可以提高代码一致性和可复用性。即使是在32位平台上,Int
可以存储的整数范围也可以达到 -2,147,483,648
~ 2,147,483,647
,大多数时候这已经足够大了。
UInt
Swift 也提供了一个特殊的无符号类型 UInt
,长度与当前平台的原生字长相同:
- 在32位平台上,
UInt
和UInt32
长度相同。 - 在64位平台上,
UInt
和UInt64
长度相同。
注意:尽量不要使用
UInt
,除非你真的需要存储一个和当前平台原生字长相同的无符号整数。除了这种情况,最好使用Int
,即使你要存储的值已知是非负的。统一使用Int
可以提高代码的可复用性,避免不同类型数字之间的转换,并且匹配数字的类型推断,请参考 类型安全和类型推断 。
下一节:浮点数是有小数部分的数字,比如 3.14159、0.1 和 -273.15。