Avatar ·

Como passar uma função como parâmetro para outra função em Kotlin?

Olá! Comecei a estudar Kotlin depois de Java e me deparei com um problema. Em Java, eu costumava usar interfaces ou interfaces funcionais (por exemplo, `Consumer`, `Runnable`) para passar comportamento para métodos. Em Kotlin, pelo que entendi, funções são objetos de primeira classe e podem ser passadas diretamente. Mas não consigo escrever a sintaxe correta. Suponha que eu tenha uma lista simples de números e queira escrever uma função `processNumbers` que recebe uma lista e uma função de manipulação para cada elemento. Aqui está o que estou tentando fazer: ```kotlin fun processNumbers(numbers: List, operation: ???) { for (number in numbers) { operation(number) } } fun main() { val numbers = listOf(1, 2, 3, 4, 5) // Quero passar aqui uma função que imprime o quadrado do número processNumbers(numbers, println(it * it)) // Erro! } ``` Não entendo qual tipo especificar para o parâmetro `operation`. Tentei escrever `(Int) -> Unit`, mas recebo um erro.