如何将 long 存储在 Swift 数组中?

How to store long in a Swift array?

我有几个用户 ID 想发送到一个数组中,但无法找出正确的 Swift3 语法来创建一个非常长的整数数组。我试过转换,@ 前缀和使用 as AnyObject,但那没有用。

let idArray = [10211420262370680, 10211420262370680]

Error: integer literal overflows when stored into int

创建具有如此长整数的数组的正确方法是什么?

试试这个:

let idArray: [UInt64] = [10_211_420_262_370_680, ...]

作为粗略计算,每 10 位 可以买到 3 个小数位。例如,UInt324_000_000_000 左右达到最大值,依此类推。

顺便说一句,上面的下划线 _just syntax sugar 表示大数字文字 ;-)

有符号长数组:

let signed64BitIntegerArray: [Int64] =      [-10211420262370680, 10211420262370680]

无符号长数组:

let unsigned64BitIntegerArray: [UInt64] =   [ 10211420262370680, 10211420262370680]

如果需要 C interop/FFI,请使用 CLong or CUnsignedLong