我在SO帖子中看到了以下评论,我很好奇:
为什么不使用if进行空检查?
a?.let{} ?: run{}只适用于极少数情况,否则它不是惯用的 - voddan 2016年5月15日在7:29 最好的方法来检查kotlin?
为什么这种结构"在极少数情况下才适用"?
Kotlin的首席工程师说,
运行允许您在elvis运营商的右侧使用多个语句 /sf/answers/3586938841/
虽然我承认实际上并不认可它是惯用的.这两个帖子似乎都来自备受推崇的SO Kotlin撰稿人.
启发原始评论的帖子提到let表达的一部分是重要的,如果a是可变的.在这种情况下,你需要a?.let{} ?: run{}而不是if{} else {}.
我发现我喜欢"让猫王跑"的结构.在大多数情况下我应该避免吗?
感谢您的任何见解.