Android Studio / IntelliJ中的^ let注释是什么?

在一个封闭的框架中,我有时候会在我的陈述之前看到注释,而我不清楚它们的含义或者为什么他们在那里。

是否表示将返回一个值作为let调用的值?

截图:

使用^ let注解的代码片段

这些事实上告诉你,这些值将从letexpression式中返回。 如果您将光标移至其中一个提示并打开意图操作(Alt + Enter),您将看到“不显示lambda返回expression式提示 ”选项,我想这是此新function的名称。

IDE中的意图操作

这个改变是在Kotlin 1.2.20中介绍的,请参阅本文中的IntelliJ IDEA插件改进

您的截图演示了Kotlin Plugin 1.2.20引入的两个新的IDEfunction:

KT 20533 在lambdas中显示“this”和“it”types的提示。

KT-20067 返回标签提示

以下是关于这个问题的KT-20066的描述:

从lambdaexpression式返回可能会引起混淆,特别是当lambdaexpression式嵌套或交叉时。 通常很难确定lambda的返回types以及块返回的位置,这可能会导致微妙的编译错误或运行时错误。 一个解决方案是始终使用明确的标记返回和types签名,但这可能会增加额外的噪声源代码。 提高可读性的一个建议是使用IDE提示(如参数提示),用于Kotlin中的lambda返回。