Junior — Middle
Como aplicar uma expressão lambda no contexto de uma função de extensão em Kotlin?
sobes.tech IA
Resposta da IA
Em Kotlin, as expressões lambda são frequentemente usadas juntamente com funções de extensão para melhorar a legibilidade e a conveniência do código. Uma função de extensão permite adicionar um novo método a uma classe existente sem herança.
Exemplo de uso de uma lambda numa função de extensão:
// Função de extensão para List<Int>, que aplica uma lambda a cada elemento e retorna a soma
fun List<Int>.sumByLambda(transform: (Int) -> Int): Int {
var sum = 0
for (item in this) {
sum += transform(item)
}
return sum
}
fun main() {
val numbers = listOf(1, 2, 3, 4)
val result = numbers.sumByLambda { it * 2 } // multiplica cada elemento por 2 e soma
println(result) // Vai imprimir 20
}
Aqui, sumByLambda é uma função de extensão para List<Int>, que aceita uma expressão lambda transform e a aplica a cada elemento da lista.