Soy un principiante en Kotlin y estoy pasando por for loop.
Ejemplo de código sencillo:
for (i in 1..5) print(i)¿Puede alguien decirme por qué no especificamos el tipo de variable de contador/iterador "i" con la palabra clave var / val? Dado que "var /val" es la forma estándar de declarar variables en Kotlin.
Así es como se diseña la sintaxis del bucle for . No puedo hablar por los diseñadores, pero creo que es una decisión de diseño para evitar una exageración innecesaria y tal vez confusión.
No puede utilizar una variable existente como variable de bucle. La variable de bucle está en el ámbito del bucle y sombrea las existentes de los ámbitos externos. Por lo tanto, está implícito que está declarando una nueva variable aquí, incluso sin una palabra clave (sin embargo, debo admitir que el comportamiento de sombreado sería más claro si tuviéramos que escribir la palabra clave val / var aquí).
Además, la variable de bucle es en realidad un val dentro del cuerpo del bucle (no se puede reasignar), pero puede sentirse como una var porque cambia para cada giro del bucle y técnicamente se declara fuera del cuerpo del bucle. En efecto, es como un nuevo val declarado en el cuerpo del ciclo con un nuevo valor para cada iteración del ciclo.
Entonces, su código de ejemplo se puede considerar como:
var temp = 1 while (temp <= 5) { val i = temp println(i) temp++ } Probablemente por eso los diseñadores decidieron no poner ninguna palabra clave aquí: es innecesaria, y tanto val como var serían confusos a su manera.