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 🙂
0

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

Deja un comentario

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