首页 > 解决方案 > Kotlin 扩展功能 - 完成?

问题描述

我看过一些关于学习 Kotlin 的教程,我对下面引用中使用的“完成”这个词的含义感到困惑。演讲者是 JetBrains 的开发人员,这是摘自抄本(不是 youtube 字幕):

在这里,我们为字符串定义了一个名为 lastChar 的扩展函数,我们可以将它用作成员函数。它在完成时是可见的,因此很容易被发现。它就像在类之外定义的常规实用程序函数。但另一方面,由于完成,它可以像会员一样轻松找到和使用。

在这种用法中完成这个词的含义是什么?

谢谢你。

标签: kotlindefinitioncompletion

解决方案


它们的意思是“自动完成”,因为它会在您将 a 放在.被扩展的类的实例之后显示。

例如,"myString".如果存在,键入将建议以下扩展函数:

fun String.lastChar(): Char {
    return this.last()
}

但是,它不会建议以下非扩展功能:

fun lastChar(value: String): Char {
    return value.last()
}

推荐阅读