Middle
¿Cómo funcionan las expresiones lambda en el lenguaje de programación Kotlin?
sobes.tech AI
Respuesta de la IA
Las expresiones lambda en Kotlin representan funciones anónimas. Pueden ser pasadas como argumentos o almacenadas en variables.
Puntos clave:
- Sintaxis: Llaves
{}. Los parámetros se indican antes de la flecha->, el cuerpo de la función después. Si no hay parámetros, la flecha es opcional. - Nombre implícito del parámetro
it: Si la lambda tiene un solo parámetro, no es necesario declararlo explícitamente, y estará disponible bajo el nombreit. - Valor de retorno: La última expresión en el cuerpo de la lambda es su valor de retorno.
- Clausuras (Closures): Las lambdas pueden acceder y modificar variables del ámbito en el que fueron definidas.
Ejemplos:
// Lambda sin parámetros
val hello = { println("Hello, world!") }
hello() // Llamada a la lambda
// Lambda con un parámetro (declaración explícita)
val square = { number: Int -> number * number }
println(square(5))
// Lambda con un parámetro (uso de 'it')
val increment = { it + 1 }
println(increment(10))
// Lambda con múltiples parámetros
val sum = { a: Int, b: Int -> a + b }
println(sum(2, 3))
// Lambda como argumento de una función de orden superior
fun operate(a: Int, b: Int, operation: (Int, Int) -> Int): Int {
return operation(a, b)
}
println(operate(4, 5, { x, y -> x * y })) // Pasando una lambda
Comparación con funciones anónimas (más detalles):
| Característica | Expresión lambda | Función anónima |
|---|---|---|
| Sintaxis | {} |
fun (...) |
| Valor de retorno | La última expresión | return explícito |
return interno |
Retorna de la función padre (retorno no local) | Retorna de la función anónima (retorno local) |
Uso de it |
Sí (para un parámetro) | No |
Las lambdas son ampliamente utilizadas en Kotlin, especialmente con funciones de orden superior (map, filter, forEach, etc.), para crear código conciso y expresivo. El compilador las optimiza.