一:整数
整数就是没有小数部分的数字,比如 42 和-23。整数可以是有符号(正、负、零)或者无 符号(正、零)。
Swift 提供了 8,16,32 和 64 位的有符号和无符号整数类型。这些整数类型和 C 语言的命名方式很像,比如 8 位无符号整数类型是 UInt8,32 位有符号整数类型是 Int32。就像 Swift 的其他类型一样,整数类型采用大写命名法。
1. 整数范围
你可以访问不同整数类型的 min 和 max 属性来获取对应类型的最大值和最小值:
let minValue = UInt8.min // minValue 为 0,是 UInt8 类型的最小值
let maxValue = UInt8.max // maxValue 为 255,是 UInt8 类型的最大值
2. Int
一般来说,你不需要专门指定整数的长度。Swift 提供了一个特殊的整数类型 Int,长度与当前平台的原生字长相同:
- 在 32 位平台上,Int 和 Int32 长度相同。
- 在 64 位平台上,Int 和 Int64 长度相同。
除非你需要特定长度的整数,一般来说使用 Int 就够了。这可以提高代码一致性和可复用性。即使是在 32 位平台上,Int 可以存储的整数范围也可以达到- 2147483648~2147483647,大多数时候这已经足够大了。
3. UInt
Swift 也提供了一个特殊的无符号类型 UInt,长度与当前平台的原生字长相同:
- 在 32 位平台上,UInt 和 UInt32 长度相同。
- 在 64 位平台上,UInt 和 UInt64 长度相同。
注意:尽量不要使用 UInt,除非你真的需要存储一个和当前平台原生字长相同的无符号整
数。除了这种情况,最好使用 Int,即使你要存储的值已知是非负的。统一使用 Int 可以提 高代码的可复用性,避免不同类型数字之间的转换,并且匹配数字的类型推测,请参考类
型安全和类型推测。
二:浮点数
浮点数是有小数部分的数字,比如 3.14159,0.1 和-273.15。
浮点类型比整数类型表示的范围更大,可以存储比 Int 类型更大或者更小的数字。Swift 提 供了两种有符号浮点数类型:
- Double 表示 64 位浮点数。当你需要存储很大或者很高精度的浮点数时请使用此类型。
- Float 表示 32 位浮点数。精度要求不高的话可以使用此类型。
注意:Double 精确度很高,至少有 15 位数字,而 Float 最少只有 6 位数字。选择哪个类型取决于你的代码需要处理的值的范围。
欢迎关注公众号 [Swift 社区]: