L'istruzione for in Kotlin
L'istruzione for() del linguaggio Kotlin mi permette di realizzare un ciclo. Esegue un blocco di codice per un numero definito di volte.
for(condizione) {
...
}
La condizione indica il numero di iterazioni da compiere. Può essere un range di valori o un oggetto iterabile.
Un esempio pratico
Questa struttura for() ripete il blocco di codice per tre volte.
for(i in 1..3) {
println(i)
}
La variabile i è la variabile contatore del ciclo mentre 1..3 è il range (inizio, fine) che determina il numero di cicli da compiere.
L'output del programma è
1
2
3
Esempio 2
La clausola step mi permette di definire il passo con la parola step.
Il passo è l'incremento della variabile contatore dopo ogni iterazione. Di defaut è uguale a uno.
for (i in 1..5 step 2) {
println(i)
}
Nel precedente codice definisco il passo (step) pari a due.
Quindi, l'output del ciclo è
1
3
5
I valori 2 e 4 non sono stampati perché il passo è +2 in un range da 1 a 5.
Esempio 3
Per fare il conteggio inverso devo usare una sintassi leggermente diversa.
for (i in 3 downTo 1 step 1) {
println(i)
}
Dove i è la variabile contatore che il valore iniziale è 3, downTo è il valore finale 1, step è la variazione in ogni ciclo.
Il risultato in output è
3
2
1
Esempio 4
L'istruzione for mi permette anche di leggere il contenuto di un oggetto iterabile.
Ad esempio un array.
val vettore = arrayOf("A", "B", "C")
for (i in vettore.indices) {
println(vettore[i])
}
L'output del programma è
A
B
C
Esempio 5
Questa for legge gli elementi di un array numerico
val numeri= intArrayOf(1,2,3)
for (i in numeri.indices) {
println(numeri[i])
}
L'output della struttura iterativa è
1
2
3
E così via.