【问题标题】:What are the `^let` annotations in Android Studio / IntelliJ?Android Studio / IntelliJ 中的 `^let` 注释是什么?
【发布时间】:2018-01-23 06:13:45
【问题描述】:

let 块中,我有时会在我的陈述之前看到^let 注释,我不清楚它们的含义或它们存在的原因。

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

截图:

【问题讨论】:

    标签: android-studio kotlin intellij-14


    【解决方案1】:

    这些实际上向您表明这些值将从let 表达式返回。如果您将光标移动到这些提示之一并打开意图操作(Alt + Enter),您会看到选项“不显示 lambda 返回表达式提示”,我想这是这个新的名称功能。

    此更改是在 Kotlin 1.2.20 中引入的,请参阅 this post 中的 IntelliJ IDEA 插件改进

    【讨论】:

    • 如何撤销这个意图?当不再显示任何提示时,意图就消失了,我在偏好中找不到任何东西。
    • ^ 找到它:首选项 → 编辑器 → 常规 → 外观 → 显示参数名称提示配置 → 语言:Kotlin → 显示 lambda 返回表达式提示
    【解决方案2】:

    您的屏幕截图展示了 Kotlin Plugin 1.2.20 引入的两个新 IDE 功能:

    KT 20533 在 lambdas 中显示“this”和“it”类型提示。

    KT-20067 返回标签提示

    这是与问题相关的 KT-20066 描述:

    从 lambdas 中返回的结果可能会令人困惑,尤其是当 lambdas 是嵌套的或交叉内联时。通常很难确定 lambda 的返回类型以及块返回的位置,这可能会导致细微的编译错误或运行时错误。一种解决方案是始终使用显式标记的返回和类型签名,但是这会给源代码增加额外的噪音。提高可读性的一个建议是使用 IDE 提示(如在参数提示中),用于 Kotlin 中的 lambda 返回。

    【讨论】:

      猜你喜欢
      • 2018-02-22
      • 1970-01-01
      • 2013-05-16
      • 2019-06-18
      • 2016-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多