小编典典

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

all

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

if let a = b.val {

} else {

}

阅读 102

收藏
2022-06-30

共1个答案

小编典典

您可以let像这样使用 -function:

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

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

请注意,如果为 null 或-block 的计算结果为,则该run块将被评估。b``let``null

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

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

在这种情况下,只有在不为空else时才会评估 -block b

2022-06-30