为什么在 Swift 中不能将 Int32 变量分配给 Int64 变量,反之亦然?
Why an Int32 variable can't be assigned to an Int64 variable or vice versa in Swift?
我无法将 Int32
var
/let
分配给 Int64
var
/let
或者在 [=19 中反之亦然=].当我尝试这样做时出现编译时错误。这背后的原因是什么?
如果声明一个变量为Int32,分配给该变量的内存是4字节,对于Int64类型变量分配的内存是8字节。
你不能将 64 字节的数据放入 32 字节的数据中,就像你不能将 2 升水放入 1 升瓶子中一样。
为了避免此类问题,swift具有严格的类型检查功能,确保在运行时间内不会出现此类问题。
我无法将 Int32
var
/let
分配给 Int64
var
/let
或者在 [=19 中反之亦然=].当我尝试这样做时出现编译时错误。这背后的原因是什么?
如果声明一个变量为Int32,分配给该变量的内存是4字节,对于Int64类型变量分配的内存是8字节。
你不能将 64 字节的数据放入 32 字节的数据中,就像你不能将 2 升水放入 1 升瓶子中一样。
为了避免此类问题,swift具有严格的类型检查功能,确保在运行时间内不会出现此类问题。