无法理解 Kotlin Android 中的扩展函数?

Unable to understand extension function in Kotlin Android?

我无法理解扩展功能并在我的项目中使用它。有人可以在这里指导我吗?

来自文档 - “Kotlin 提供了使用新功能扩展 class 的能力,而无需继承 class 或使用装饰器等设计模式。这是通过称为扩展的特殊声明完成的。”

为了简单地理解这一点,让我们考虑以下示例:

要事第一。

写 10 然后在它后面放一个点 (.) 然后尝试写 addTwoNumbers()。 在此阶段您会遇到错误,因为没有 属性 名为 addTwoNumbers() 的整数。

现在,写这个方法:

fun Int.addTwoNumbers(y: Int): Int = this.plus(y) //“this” corresponds to the integer number. (In this example, “this” refers to 10).

注意我们如何使用 Int.addTwoNumbers().

让我们再做同样的事情:

  1. 写10.

  2. 在它后面加一个点(.)。

  3. 尝试写addTwoNumbers()。

  4. 这次你会注意到,它看起来好像是整数的属性。

检查下面的代码:

fun main() {
    val sum = 10.addTwoNumbers(20) //here “this” will be assigned “10” and “y” will be assigned “20”
    println("sum: $sum")
}

这将在控制台打印 sum: 30

这种现象被称为“扩展函数”