Avatar ·

如何在 Kotlin 中将函数作为参数传递给另一个函数?

你好!我刚开始在 Java 之后学习 Kotlin,遇到了一个问题。 在 Java 中,我习惯使用接口或函数式接口(例如 `Consumer`、`Runnable`)来将行为传递给方法。在 Kotlin 中,据我所知,函数是一等公民,可以直接传递。 但我无法写出正确的语法。假设我有一个简单的数字列表,我想编写一个函数 `processNumbers`,它接受一个列表和一个处理每个元素的函数。 这是我尝试做的: ```kotlin fun processNumbers(numbers: List, operation: ???) { for (number in numbers) { operation(number) } } fun main() { val numbers = listOf(1, 2, 3, 4, 5) // 想在这里传递一个输出数字平方的函数 processNumbers(numbers, println(it * it)) // 错误! } ``` 我不明白应该为参数 `operation` 指定什么类型。我尝试写 `(Int) -> Unit`,但遇到了错误。