在 Kotlin 中是否有与下面的 Swift 代码等效的代码?
if let a = b.val { } else { }
您可以let像这样使用 -function:
let
val a = b?.let { // If b is not null. } ?: run { // If b is null. }
请注意,run只有在需要代码块时才需要调用该函数。如果在 elvis-operator ( ) 之后只有一个单行符,则可以删除run-block ?:。
run
?:
请注意,如果为 null 或-block 的计算结果为,则该run块将被评估。b``let``null
b``let``null
因此,您通常只需要一个if表达式。
if
val a = if (b == null) { // ... } else { // ... }
在这种情况下,只有在不为空else时才会评估 -block b。
else
b