Funciones lambda en Kotlin

https://dystopianapps.com/funciones-lambda-en-kotlin

Hoy os voy a hablar de las funciones lambda en kotlin, seguro que muchos ya las conoceis ya que también estaban en Java 8, pero para los que no las conozcáis una expresión lambda es una expresión lambda representa una función anónima. Las funciones lambdas son una manera excelente de reducir la cantidad de código necesaria para ejecutar ciertas tareas que son repetitivas en el desarrollo Android—por ejemplo, la escritura de listeners y callbacks.

Una expresión lambda está compuesta por una serie de parámetros, un operador lambda (->) y el cuerpo de una función, dispuestos de la siguiente manera:

Al construir expresiones lambda en Kotlin, debes tener en cuenta las siguientes reglas:

  • La expresión lambda debe estar delimitada por llaves.
  • Si la expresión contiene cualquier parámetro, debes declararlo antes del símbolo ->.
  • Si estás trabajando con múltiples parámetros, debes separarlos con comas.
  • El cuerpo de la función va luego del signo ->.

El mayor beneficio de las expresiones lambda es que te permiten definir funciones anónimas y luego pasar estas funciones inmediatamente como una expresión. Esto te permite ejecutar muchas tareas comunes de desarrollo de manera más fácil y rapida que en Java 7 y anteriores.De hecho, la ausencia de lambdas en Java 7 y anteriores es uno de los motivos principales por el cual la manera de escribir listeners y callback en Android esta tan anticuada.

Veamos un ejemplo común: añadir un click listener a un botón. En Java, esto típicamente requeria (No a partir de Java 8) el siguiente código:

Sin embargo, las funciones lambda de Kotlin te permiten declarar un click listener usando una sola línea de código: 

Esto ya resulta mucho más conciso y fácil de leer, pero podemos ir más lejos—si una función espera otra función como último parámetro, puedes pasarla por fuera de la lista dentro de los paréntesis: 

Y si la función solo tiene un parámetro que es una función, puedes remover los paréntesis por completo: 

Creado por

Iván Fernández

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio utiliza cookies para mejorar los servicios que se ofrecen. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies

ACEPTAR
Aviso de cookies