在 Kotlin 中,扩展函数(Extension Functions)是一种强大的特性,允许你向已有的类添加新的函数,而无需修改其源代码。这使得你可以在不继承或修改类的情况下,为其添加功能。以下是一个简单的扩展函数的例子:
// 定义一个扩展函数
fun String.addExclamation(): String {
return "$this!"
}
fun main() {
// 调用扩展函数
val originalString = "Hello, Kotlin"
val modifiedString = originalString.addExclamation()
println("Original: $originalString")
println("Modified: $modifiedString")
}
输出:
Original: Hello, Kotlin
Modified: Hello, Kotlin!
在这个例子中,我们定义了一个名为 addExclamation 的扩展函数,它可以在任何 String 对象上调用。该函数在字符串末尾添加感叹号,并返回修改后的字符串。在 main 函数中,我们演示了如何调用这个扩展函数。
值得注意的是,扩展函数的定义是在一个顶层文件中,并且没有放在任何类内。扩展函数的名称前面的类型名(String)指定了在哪个类上添加这个函数。
你还可以创建扩展函数以扩展其他类型的类,例如:
// 定义一个扩展函数,用于计算字符串中的字母个数
fun String.countLetters(): Int {
return this.count { it.isLetter() }
}
fun main() {
val text = "Hello, Kotlin!"
val letterCount = text.countLetters()
println("Letter count: $letterCount")
}
输出:
Letter count: 11
在这个例子中,我们定义了一个扩展函数 countLetters,用于计算字符串中的字母个数。这个函数是在 String 类型上调用的,但我们并没有修改 String 类的源代码。
扩展函数是 Kotlin 中强大而灵活的工具,可用于向现有类添加新的功能,提高代码的可读性和复用性。