gpt4 book ai didi

android - Kotlin : How to use if-else like condition with let block for 'null' checks

转载 作者:行者123 更新时间:2023-12-04 06:20:47 24 4
gpt4 key购买 nike

作为代码审查过程的一部分,我将在我的代码中用 let block 替换所有空检查。

1.
带有空值检查的代码示例:

if(someValue != null){//run if someValue is not null}
else {//run if someValue is null}

2.
使用 let-run block if 进行空检查后的代码库,
var someValue : String? = null
someValue = "SOF"

someValue?.let {safeSomeValue->
//This code block will run only if someValue is not null
}?.run {
//This code block should run only when if someValue is null, like else condition
}

现在 let-run block 的问题是两个代码块都在运行,即使 someValue 不为空。因此,我无法将代码示例 1 中的 if-else 条件的行为复制到代码示例 2 中的 run-let 条件。

预期的行为是根据 value 是 null 还是 not-null 来执行 let 或 run 代码块。

最佳答案

来源 - kotlinlang.org

  • ?.执行安全调用(如果接收者为非空,则调用方法或访问属性)
  • ?: 如果左边的值为空(elvis 运算符),则取右边的值

  • 更改 ?. ?: 会解决这个问题,

    如下代码库,将根据空检查运行 let 或 run block 。
    var someValue : String? = null
    someValue = "SOF"

    someValue?.let {safeSomeValue->
    //This code block will run only if someValue is not null
    }?:run {
    //This code block will run only when if someValue is null, like else condition
    }

    关于android - Kotlin : How to use if-else like condition with let block for 'null' checks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56975323/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com