我一直在试用Swift,因为它显然是Apple希望我们进入的方向.但是,我真的很生气,因为你似乎无法添加不同大小的整数:
var a: Int64 = 1500
var b: Int32 = 12349
var c = a + b
if a < b { ... }
Run Code Online (Sandbox Code Playgroud)
产生的错误是"无法找到接受提供的参数的'+'的重载' - 显然,因为它们是对象类型.所有类方法似乎都没有任何帮助上/下转换整数.
同样的情况适用于任何类型的别名,显然,(CInt + CLong).
我可以看到很多真实情况,能够进行整数运算非常实用,更不用说在两个不同大小的整数上进行比较或按位运算.
怎么解决这个?使用as运算符进行显式转换似乎不起作用.Swift语言书也没有多大帮助,因为它没有真正讨论这个场景.