我有一个返回可选Int(Int?
)的函数。
我存储从此函数返回的值,然后比较它以检查它是大于还是小于0,然后执行某些操作。
我很惊讶地发现以下代码至少没有触发编译器警告。
func someMethod() -> Int? {
return nil
}
fun doWork() {
let value = self.someMethod()
if value < 0 {
print("nil value is evaluated as < 0")
}
}
有人可以解释为什么nil在下面的代码中评估为&lt; 0?