Capítulo 8 – Expresión when en Kotlin

curso de programación kotlin

Siguiendo con el control de flujo, la siguiente expresión que debemos ver es when. Esta nos permite realizar una o varias acciones dependiendo del resultado recibido. También se podría hacer con el tutorial anterior (if-else en Kotlin)  anidando if-else, pero no sería lo correcto. La forma óptima es esta. Para los que tengan conocimientos básicos de programación en otro lenguaje, when es el sustituto del switch.

When

El ejemplo es muy sencillo. La función getMonth recibe un Int que se lo mandamos a el when, una vez ahí comprobará todos los casos disponibles (aquí tenemos de 1 a 12). Si concuerda con algún valor, automáticamente entrará por ahí y realizará  la función oportuna, en este caso pintar el mes.

Si por el contrario no encuentra ningún caso igual, entrará por el else. Dicho else no es obligatorio así que se puede quitar, y si no entra por ningún caso pues simplemente no mostrará nada.

La expresión when no solo soporta números, sino que puede trabajar con textos y expresiones.

En este ejemplo podemos ver como separar varios valores a través de comas.

Si son rangos más altos tenemos la posibilidad de usar in y !in para trabajar con arrays y ranges (lo veremos más tarde).

Con esto podemos comprobar si está entre una cantidad de números específicos (en este caso entre 1 y 6 y 7 y 12) o si por el contrario no está en un rango específico (de 1 a 12) poniendo una exclamación al principio de la expresión in.

También podemos usar la expresión is para comprobar el tipo de variable que es.

Si es Int, sumará 1 al valor, si es una String lo concatenará al texto que vemos arriba y si es un Booleano nos pintará un resultado dependiendo si es true o falso.

Para finalizar mostraros también que podemos guardar el resultado de un when automáticamente.

Hemos declarado la variable de tipo String, pero podríamos hacerla de tipo Any si no tuviéramos claro el resultado de la expresión. Aquí si es obligatorio añadir un else, aunque como podéis apreciar, podemos quitar los paréntesis de dicha condición.

 

Comparte 🙂
error0

8 comentarios sobre “Capítulo 8 – Expresión when en Kotlin

    • Aris Autor del artículoContestar

      Para almacenar el resultado en una variable de tipo String llamada «response».

      Un saludo.

  1. Delvick Contestar

    Hola Aris, gracias por el curso. Tengo una duda en el penúltimo paso… Estoy tratando de que me imprima o muestre String o Boolean cuando lo ejecuto, pero no lo logro

  2. Delvick Contestar

    Quiero decir, estoy tratando de que me pinte «El texto es $value» o «es verdadero» o «es falso», pero no sé que me está faltando.
    PD: Estoy empezando este curso sin mucho conocimiento de programación JAVA, eso es un inconveniente?

    • Aris Autor del artículoContestar

      Buenas, necesito que me pongas el código a ver que puede pasar.

      Respecto lo de java, en este curso no necesitas conocimientos previos de programación 🙂

      Un saludo!

Deja un comentario

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