Avatar ·

Wie übergibt man eine Funktion als Parameter an eine andere Funktion in Kotlin?

Hallo! Ich habe gerade angefangen, Kotlin nach Java zu lernen, und bin auf ein Problem gestoßen. In Java war ich es gewohnt, Interfaces oder funktionale Interfaces (z.B. `Consumer`, `Runnable`) zu verwenden, um Verhalten an Methoden zu übergeben. In Kotlin, wie ich verstanden habe, sind Funktionen First-Class-Objekte und können direkt übergeben werden. Aber ich bekomme die korrekte Syntax nicht hin. Angenommen, ich habe eine einfache Liste von Zahlen und möchte eine Funktion `processNumbers` schreiben, die eine Liste und eine Handler-Funktion für jedes Element entgegennimmt. Hier ist, was ich versuche: ```kotlin fun processNumbers(numbers: List, operation: ???) { for (number in numbers) { operation(number) } } fun main() { val numbers = listOf(1, 2, 3, 4, 5) // Ich möchte hier eine Funktion übergeben, die das Quadrat der Zahl ausgibt processNumbers(numbers, println(it * it)) // Fehler! } ``` Ich verstehe nicht, welchen Typ ich für den Parameter `operation` angeben soll. Ich habe versucht, `(Int) -> Unit` zu schreiben, bekomme aber einen Fehler.