Vamos a ver una tabla básica de los 5 modismos básicos de Kotlin para ver donde se encuentra let en ella:

let also run apply with modismos kotlin
Tabla de los modismos de Kotlin

Uno de los principales usos de let es hacer algo con el objeto en el caso de que éste no sea null. En otras palabras: ejecutar si no es nulo.

En el código anterior puedes ver como repetimos una operación 10 veces, la cual consiste en generar un booleano aleatorio (true o false) y en función de lo que salga randomNull será nullo será un String.

Con let solo mostrará por pantalla cuando randomNull no sea nulo hasta terminar las repeticiones, si es nulo obviará la operación y no mostrará nada.

Puedes ver más información en Ejecutar si no es nulo.

También puedes utilizarlo de otras formas y no solo cuando es nulo. Como has visto en la tabla, let permite devolver un bloque por lo que puedes hacer algo con con un valor pero en realidad el valor que le asignarás a la variable será el que indiques dentro del let.

Ten cuidado con el ejemplo anterior, porque si no hubiésemos puesto "Peter" la variable name no sería "John", ni siquiera sería un String sería un Unit. Para conseguir que fuese un String tendrías que utilizar also.

Con todos los modismos basados en funciones de extensión puedes hacer referencias a funciones:

Una cosa que te preguntarás cuando termines de ver todos los modismos es y cuando los estés usando es: ¿Pero aunque estemos usando let para hacer esta cosa, podríamos haberlo hecho también con este otro modismo (en ocasiones será also, run, etc)? La respuesta es que muchas veces puedes conseguir el mismo resultado con dos modismos diferentes, pero algunos favorecen la semántica a la hora de leer el código por lo que es preferibles usar esos a otros.

Por ejemplo si quieres hacer X y como efecto secundario Y (asignar variable y mostrar por pantalla), es preferible a que lo hagas con also a con let ya que si alguien lo lee lo comprenderá de un simple vistazo.


Enlaces de interés:

Menú