Kotlin中Swift 'if let'的等价写法:如何安全解包Optional?
大家好!我最近从Swift转到Kotlin,一直找不到`if let`结构的直接对应写法。在Swift中我经常这样写:
```swift
if let unwrappedValue = optionalValue {
print("值存在:\(unwrappedValue)")
} else {
print("值不存在")
}
```
这可以安全解包Optional并在块内使用值。在Kotlin中,我了解到Optional被替换为带问号的nullable类型(例如`String?`)。但我不知道如何优雅且安全地检查值不为null,并立即将其赋值给一个新的不可变变量。我试过用`?.let`,但这不完全是我想要的:
```kotlin
val optionalValue: String? = "Hello"
optionalValue?.let { unwrappedValue ->
println("值存在:$unwrappedValue")
}
```
问题在于`let`不方便处理else分支(当值为null时)。当然,可以用`if (optionalValue != null)`,但这样内部...