[KfS03]: Sintaxis Básica en Kotlin II. Java vs Kotlin Round #2.
En este articulo seguiremos estudiando la sintaxis básica de Kotlin, esta vez analizaremos los control flow o flujos de control. Comencemos con los condicionales.
If
Al igual que Java y muchos lenguajes en Kotlin tenemos el condicional if, donde podemos evaluar una declaración y dependiendo de ella hacer acción o retornar un valor.
En esta parte se puede ver que es tal cual como en cualquier lenguaje, no obstante lo curioso es que en Kotlin podemos asignar valores directamente.
Como podemos ver en el ejemplo, Kotlin nos permite simplificar bastante el código. Y que con Java podríamos lograr algo similar si hacemos uso del operador ternario. En Kotlin también podemos usar else if, no obstante para hacerlo mas legible es mejor when.
When
Esta opción es el reemplazo de Kotlin para switch, además a mi parecer es una opción más limpia y elegante que anidar varios “else if”.
Después de ver el uso de when como expresión, lo primero que paso por mi cabeza fue:
Ahora analicemos su estructura: la variable age que recibe when sera lo que se evaluará contra las condiciones definidas dentro del bloque, siendo lo que esta delante del operador lambda (“->”) la condición contra la que se evaluará y si se determina que se cumple devolverá o ejecutara luego de dicho operador. También veremos casos donde no se pasara un argumento a when, en estos casos se evaluarán como booleano:
Range
En el ejemplo vemos el uso de in lo que nos permite verificar si la variable age se encuentra en los rangos especificados, a diferencia de python en estos rangos ambas puntas se incluyen. Su estructura es muy sencilla:
in primerValor..ultimoValor.
For Loop
En Kotlin tenemos el For Loop que nos permite iterar una lista, cualquier objeto o collection. Aqui podemos ver unos ejemplos de Kotlin vs Java:
Kotlin nos permite iterar usando rangos. Asimismo, Kotlin nos ofrece la posibilidad de iterar definiendo de la cantidad que debe aumentar en cada iteración usando la palabra reservada step o hacer un conteo regresivo usando downTo. Aquí vemos un ejemplo y su comparación con Java:
While y Do-while
Finalmente tenemos el while y do-while, cuyo funcionamiento es similiar a Java y demas lenguajes que lo soporten.
Eso es todo por esta vez.
Happy coding.