原文: https://www.programiz.com/kotlin-programming/extension-functions

在本文中,您将学习使用扩展函数使用新函数扩展类。

假设您需要扩展具有新函数的类。 在大多数编程语言中,您可以派生新的类或使用某种设计模式来执行此操作。

但是,在 Koltin 中,您还可以使用扩展函数来扩展具有新函数的类。 基本上,扩展函数是在类外部定义的类的成员函数。

例如,您需要对字符串类使用一个方法,该方法返回删除了第一个和最后一个字符的新字符串。String类中尚未提供此方法。 您可以使用扩展函数来完成此任务。


示例:删除字符串的第一个和最后一个字符

  1. fun String.removeFirstLastChar(): String = this.substring(1, this.length - 1)
  2. fun main(args: Array<String>) {
  3. val myString= "Hello Everyone"
  4. val result = myString.removeFirstLastChar()
  5. println("First character is: $result")
  6. }

运行该程序时,输出为:

  1. First character is: ello Everyon

在这里,扩展函数removeFirstLastChar()被添加到String类。

类名是接收者类型(在我们的示例中为String类)。 扩展函数内的this关键字引用接收者对象。

Kotlin 扩展函数 - 图1


如果需要将 Kotlin 集成到 Java 项目的顶部,则无需将整个代码修改为 Koltin。 只需使用扩展函数即可添加函数。

话虽如此,很容易滥用扩展函数的力量。 我们建议您检查这些资源,以了解何时使用扩展程序以及何时不使用扩展程序: