Swift中Int和Int32有什么区别?

Ján*_*nos 44 int ios swift

Core Data你可以存储Int16,Int32,Int64但它是从不同的Int.它们存在的原因是什么,你如何使用它们?

Jør*_*n R 74

根据Swift文档

诠释

在大多数情况下,您不需要选择要在代码中使用的特定大小的整数.Swift提供了一个额外的整数类型Int,它与当前平台的本机字大小相同:

在32位平台上,Int与Int32的大小相同.

在64位平台上,Int与Int64的大小相同.

除非您需要使用特定大小的整数,否则请始终在代码中使用Int作为整数值.这有助于代码一致性和互操作性.即使在32位平台上,Int也可以存储-2,147,483,648和2,147,483,647之间的任何值,并且对于许多整数范围来说足够大.

  • 感谢您的参考.误导[Int文档]导致我误入歧途(https://developer.apple.com/library/prerelease/ios/documentation/Swift/Reference/Swift_Int_Structure/index.html#//apple_ref/swift/struct/s:Si ),它说:`一个64位有符号整数值类型.没有提到架构. (8认同)
  • 当你使用大尺寸数字并且设备是4/4时使用"Int"会出现问题,因为从iPhone 5引入了64位处理器.我已经学会了这个方法很难;) (5认同)

yoA*_*ex5 5

SwiftInt是一个包装器,因为它平台容量(Int32在 32 位平台和Int6464 位平台上)具有相同的大小

作为程序员,除非确实需要,否则不应声明依赖于平台的 Int(例如 Int32、Int64)。例如,当您在 32 位平台上使用无法使用 4 个字节表示的数字时,您可以声明Int64而不是Int.

  • Int32:4 个字节:从 ?2147483648 到 +2147483647
  • Int64: 8 个字节:从 ?9223372036854775808 到 +9223372036854775807