关键字
let
用于在Swift中定义常量。但我发现let
被用于if
语句中,我一直在想这样做的好处是什么。例如,在以下代码中:if !session.setActive(false, error: &error) {
println("session.setActive fail")
if let e = error {
println(e.localizedDescription)
return
}
}
为什么在语句 if let e = error
中要用 let
测试 error
?这与 IT 技术有关。
我明白测试 error
的必要性,以确保我们可以获得 .localizedDescription
,但是我不明白为什么我们不能直接这样做:
if error {
println(error.localizedDescription)
除了这个例子之外,我还注意到许多其他的if
语句中也使用了let
。这样做有什么优点呢?我很想知道背后的思考过程。
最后,var
能否以同样的方式在if
语句中使用?
error
),那么为什么要将其重新绑定为e
... - Shaiif let e=error
而不是if error!
呢?在 if 语句中,为什么let e=error
比error!
更安全呢? - Jimmeryerror!
并且可选项没有值,那么就会发生运行时错误。这正是我们试图避免的。 - Marius Schulz