kotlin - Kotlin 扩展功能 - 完成?
问题描述
我看过一些关于学习 Kotlin 的教程,我对下面引用中使用的“完成”这个词的含义感到困惑。演讲者是 JetBrains 的开发人员,这是摘自抄本(不是 youtube 字幕):
在这里,我们为字符串定义了一个名为 lastChar 的扩展函数,我们可以将它用作成员函数。它在完成时是可见的,因此很容易被发现。它就像在类之外定义的常规实用程序函数。但另一方面,由于完成,它可以像会员一样轻松找到和使用。
在这种用法中完成这个词的含义是什么?
谢谢你。
解决方案
它们的意思是“自动完成”,因为它会在您将 a 放在.
被扩展的类的实例之后显示。
例如,"myString".
如果存在,键入将建议以下扩展函数:
fun String.lastChar(): Char {
return this.last()
}
但是,它不会建议以下非扩展功能:
fun lastChar(value: String): Char {
return value.last()
}