Creación y Uso de Lambdas en Kotlin

Clase 28 de 37Curso de Kotlin desde Cero

Resumen

¿Qué son las Lambdas y cómo se crean?

Las lambdas, también conocidas como funciones anónimas, son una característica poderosa en Kotlin. La gran ventaja es que, al igual que las funciones normales, son objetos que pueden ser asignados a variables. ¿Recuerdas cuando mencionamos que las funciones en Kotlin podrían tratarse como objetos y asignarse a variables? Aquí exploraremos cómo crearlas y utilizarlas de manera eficiente.

Para crear una lambda, imaginemos que tenemos una cajita cerrada (la lambda), y cuando la abrimos, obtenemos un valor. Al crearlas, indicamos el tipo de retorno. Un ejemplo sencillo es una lambda que acepta un String y devuelve un Int. El código para esto se vería así:

val myLambda: (String) -> Int = { it.length }

En este ejemplo, it representa el parámetro que la lambda recibe. Es importante notar que it es el valor por defecto asignado al parámetro en una lambda. Para crear un código más legible, se recomienda usar nombres explícitos para los parámetros cuando sea posible.

¿Cómo ejecutamos una Lambda?

Para ejecutar la lambda anteriormente definida, simplemente agregamos paréntesis y pasamos el parámetro requerido. Esto invoca a la lambda:

val result = myLambda("Hola Platzi")
println(result) // Esto imprimirá: 12

El proceso es similar a abrir la cajita y obtener el valor interno. En este caso, al pasar el String "Hola Platzi", la lambda calcula su longitud.

¿Cómo utilizamos Lambdas en listas y operaciones?

Una de las múltiples utilidades de las lambdas es su capacidad para ser pasadas como parámetros a otras funciones, como map. Recordemos una lista de saludos y calculemos la longitud de cada uno:

val saludos = listOf("Hello", "Hola", "Chao")
val longitudDeSaludos = saludos.map(myLambda)
println(longitudDeSaludos) // Imprime: [5, 4, 4]

Aquí, map toma cada elemento de la lista, ejecuta la lambda con ese elemento, y almacena los resultados en una nueva lista. Esto permite realizar operaciones complejas de manera eficiente y elegante, evitando repetir código innecesariamente.

Las Lambdas como parámetros

Al usar lambdas como parámetros en funciones como map, aprovechamos su capacidad para funcionar dentro de otras operaciones. Esto mejora la legibilidad y eficiencia del código, simplificando procesos repetitivos y avanzados en programación funcional.

En resumen, las lambdas son herramientas esenciales en el desarrollo con Kotlin, permitiendo a los desarrolladores construir código conciso y reutilizable. Te animamos a experimentar con ellas en tus propios proyectos para ver el impacto positivo que pueden tener en tu flujo de trabajo.