kotlin传入回调函数
时间: 2023-09-14 16:14:21 浏览: 170
Kotlin 使用高阶函数实现回调方式
在 Kotlin 中,可以使用高阶函数来传递回调函数。高阶函数是指接受一个或多个函数作为参数,并/或返回一个函数的函数。
下面是一个示例,展示如何在 Kotlin 中传递回调函数:
```kotlin
fun processString(input: String, callback: (String) -> Unit) {
val output = input.toUpperCase()
callback(output)
}
fun main() {
val input = "Hello, World!"
processString(input) { output ->
println(output)
}
}
```
在上述示例中,`processString` 函数接受一个字符串 `input` 和一个回调函数 `callback`,该回调函数接受一个字符串参数并返回 `Unit`。在 `processString` 函数中,我们将输入字符串转换为大写形式,然后调用回调函数并将结果作为参数传递。
在 `main` 函数中,我们传递了一个字符串和一个 Lambda 表达式作为回调函数。Lambda 表达式接受一个字符串参数并将其打印到控制台上。当 `processString` 函数调用回调函数时,Lambda 表达式将被执行并输出转换后的字符串。
请注意,如果回调函数不返回任何值,则可以使用 `(String) -> Unit` 作为回调函数的类型。如果回调函数返回一个值,则应将其类型指定为返回类型,例如 `(String) -> Int` 或 `(String) -> String` 等。
阅读全文