Avatar ·

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

Olá! Comecei a estudar Kotlin depois de Java e estou com um problema. Em Java, eu estava acostumado a passar funções através de interfaces ou lambdas, mas em Kotlin é um pouco diferente. Suponha que eu tenha uma função simples que soma dois números: ```kotlin fun add(a: Int, b: Int): Int { return a + b } ``` E eu quero passá-la para outra função que a aplicará a um par de números e exibirá o resultado. Tentei escrever algo como: ```kotlin fun applyOperation(x: Int, y: Int, operation: ???) { val result = operation(x, y) println("Resultado: $result") } ``` Mas não sei qual tipo usar para o parâmetro `operation`. Ouvi algo sobre `Function` ou `(Int, Int) -> Int`, mas não tenho certeza de como usar corretamente. Também estou curioso se é possível passar funções com assinaturas diferentes, por exemplo, com diferentes números de parâmetros ou tipos de retorno. Explique como isso é feito em Kotlin? Exemplos de código ajudariam muito. Obrigado! <<>>

Uso