在 if 语句内部直接修改解包的 Optional 值

在 if 语句内部直接修改解包的 Optional 值

平时写需要解包的代码时,我们通常会使用 if letguard let 来安全地解包 Optional 值。
但有时我们需要在解包后直接修改这个值,这时候就可以使用 if var 语句。

var optionalValue: Int? = 42
if var value = optionalValue {
    value += 10 // 修改解包后的值
    print("修改后的值是:\(value)") // 输出:修改后的值是:52
    optionalValue = value // 如果需要,可以将修改后的值重新赋给原 Optional
} else {
    print("Optional 值为 nil")
}

在这里 value 的访问与修改都是在 if 语句的作用域内进行的,外部是没有权限的。

你可能感兴趣的:(Swift,Tips,开发语言,swift)