What is the difference between Int and Int32 in Swift?
Swift's Int
is a wrapper because it has the same size as a platform capacity (Int32
on 32-bit platform and Int64
on 64-bit platform).
As a programmer, you should not declare a platform dependent Int (e.g. Int32, Int64) unless you really need it. For example, when you are working on 32-bit platform with numbers that cannot be represented using 4 bytes, then you can declare Int64
instead of Int
.
Int32
: 4 bytes: from −2147483648 to +2147483647Int64
: 8 bytes: from −9223372036854775808 to +9223372036854775807
According to the Swift Documentation
Int
In most cases, you don’t need to pick a specific size of integer to use in your code. Swift provides an additional integer type, Int, which has the same size as the current platform’s native word size:
On a 32-bit platform, Int is the same size as Int32.
On a 64-bit platform, Int is the same size as Int64.
Unless you need to work with a specific size of integer, always use Int for integer values in your code. This aids code consistency and interoperability. Even on 32-bit platforms, Int can store any value between -2,147,483,648 and 2,147,483,647, and is large enough for many integer ranges.