En este tutorial se explica la función let en Kotlin. Let se usa principalmente para realizar una acción cuando el objeto o variable no sea nulo, en caso de ser nulo no hará nada. O bien podemos usar ?: run para efectuar alguna acción.
Forma básica de let en Kotlin
La forma mas sencilla de utilizar el let en Kotlin es la siguiente:
Si la variable nombre no es nula, entonces imprimirá “No nulo”.
Pero en este ejemplo tenemos algunos problemas cuando sea nulo, comos se ve en la siguiente imagen:
Le estamos dando un valor nulo a una variable que no puede ser nula.
Para que la variable pueda ser nula necesitamos agregar el signo de interrogación al final del tipo de variable por ejemplo String?.
Es importante también agregar el signo de interrogación en la variable nombre antes de usar el let. Ya que si no lo ponemos siempre entrará al let porque no le estamos dando la oportunidad de poder ser nula.
Kotlin realizar acción cuando sea nulo, let.
En caso de que el valor sea nulo, no entrará dentro de let. Pero tampoco efectuara ninguna acción.
Si necesitamos que se haga algo cuando el valor sea nulo, como dar un valor por default o bien llamar a alguna función, usamos let{…} ?: run { … } como se muestra a continuación.
Vemos que cuando la variable nombre es igual a null, imprimimos un mensaje diciendo “su valor es nulo”. Pero en lugar de esto podemos hacer cualquier cosa.
Es importante recordar que el signo de interrogación ? debe de estar al declarar la variable para permitir que tenga valores nulos. Y también cuando usemos el let, para permitir que pueda ser nula.
Sin el signo de interrogación.
En el siguiente ejemplo no ponemos el signo de interrogación en la variable para ver que es lo que ocurre.
Vemos que el valor de la variable nombre es null, pero en let indica que no es nulo. Esto es debido a que a la variable nombre no le indicamos que pued ser nula, por lo que siempre pasa como no nula.
Asignando valor a variable con let en kotlin
Es posible darle un valor a una variable usando let, si la variable no es nula le daremos un valor y si es nulo le daremos el valor por default.
En el ejemplo anterior, vemos que el valor de la variable res puede cambiar si la variable nombre es nula o no. Si es nula se usa un valor por default, si no es nula se asigna el valor de la variable.
Que en lugar de nombre podemos poner it. Ya que it representa la variable que usamos con let.
Usando it dentro de let, y llamar funciones.
Dentro de let, el comando it representa el valor de la variable. En el siguiente ejemplo llamamos a una función.
Si nombre es null llamamos a la función imprimir con el mensaje “Valor nulo”.
Pero si no es null, entonces llamamos a la funcion imprimir con el valor de la variable, que en este caso lo obtenemos con it.
Para más tutoriales de Kotlin ve a este enlace.
Algunos temas que pueden ser de su interés: