kotlin - Kotlin 中等效的 Swift 'if let' 语句

在 Kotlin 中是否有与下面的 Swift 代码等效的代码?

if let a = b.val {

} else {

}

最佳答案

您可以像这样使用 let 函数:

val a = b?.let {
    // If b is not null.
} ?: run {
    // If b is null.
}

请注意,只有在需要代码块时才需要调用 run 函数。如果在 elvis-operator (?:) 后面只有一个单行,则可以删除 run-block。

请注意,如果 b 为 null,或者如果 let block 的计算结果为 ,则将计算 run block 空

因此,您通常只需要一个 if 表达式。

val a = if (b == null) {
    // ...
} else {
    // ...
}

在这种情况下,else-block 只有在 b 不为空时才会被计算。

关于kotlin - Kotlin 中等效的 Swift 'if let' 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46723729/

相关文章:

kotlin - Kotlin 中有构造函数引用吗?

kotlin - 在 Kotlin 中创建抽象类的实例

syntax - Kotlin 二级构造函数

enums - Kotlin 中具有反向查找的有效枚举?

function - 何时在 Kotlin 中使用内联函数?

loops - Kotlin 中 `break` 中的 `continue` 和 `forEach`

generics - Kotlin 中的 reified 关键字是如何工作的?

generics - 如何在 Kotlin 中将 TypeToken + 泛型与 Gson 一起使用

kotlin - Kotlin中折叠和减少之间的区别,何时使用?

kotlin - Kotlin 中的多变量 let