For-sløjfen i Kotlin gentages gennem alt, hvad der giver en iterator. I denne artikel lærer du at oprette til loop (ved hjælp af eksempler).
Der er ingen traditionel loop i Kotlin i modsætning til Java og andre sprog.
I Kotlin for
bruges loop til at gentage sig gennem intervaller, arrays, kort og så videre (alt, hvad der giver en iterator).
Syntaksen for for
loop i Kotlin er:
for (vare i samling) (// body of loop)
Eksempel: Iterer gennem en rækkevidde
fun main(args: Array) ( for (i in 1… 5) ( println(i) ) )
Her går sløjfen igennem området og udskriver individuelt element.
Når du kører programmet, vil output være:
1 2 3 4 5
Hvis kroppen af sløjfen kun indeholder en sætning (som eksemplet ovenfor), er det ikke nødvendigt at bruge krøllede seler ( )
.
fun main(args: Array) ( for (i in 1… 5) println(i) )
Det er muligt at gentage et interval ved hjælp af for
loop, fordi intervaller giver en iterator. For at lære mere, besøg Kotlin iteratorer.
Eksempel: Forskellige måder at skifte igennem en rækkevidde
fun main(args: Array) ( print("for (i in 1… 5) print(i) = ") for (i in 1… 5) print(i) println() print("for (i in 5… 1) print(i) = ") for (i in 5… 1) print(i) // prints nothing println() print("for (i in 5 downTo 1) print(i) = ") for (i in 5 downTo 1) print(i) println() print("for (i in 1… 4 step 2) print(i) = ") for (i in 1… 5 step 2) print(i) println() print("for (i in 4 downTo 1 step 2) print(i) = ") for (i in 5 downTo 1 step 2) print(i) )
Når du kører programmet, vil output være:
til (i in 1… 5) print (i) = 12345 for (i in 5… 1) print (i) = til (i in 5 downTo 1) print (i) = 54321 for (i in 1… 4 trin 2 ) udskriv (i) = 135 til (i i 4 ned til 1 trin 2) udskriv (i) = 531
Iterere gennem en matrix
Her er et eksempel på iterering gennem en String
matrix.
fun main(args: Array) ( var language = arrayOf("Ruby", "Koltin", "Python" "Java") for (item in language) println(item) )
Når du kører programmet, vil output være:
Ruby Koltin Python Java
Det er muligt at gentage gennem en matrix med et indeks. For eksempel,
fun main(args: Array) ( var language = arrayOf("Ruby", "Koltin", "Python", "Java") for (item in language.indices) ( // printing array elements having even index only if (item%2 == 0)
println (sprog (vare))))
Når du kører programmet, vil output være:
Ruby Python
Hvis du vil lære mere om arrays, skal du besøge Kotlin arrays.
Iterering gennem en streng
fun main(args: Array) ( var text= "Kotlin" for (letter in text) ( println(letter) ) )
Når du kører programmet, vil output være:
K otlin
Lignende som arrays kan du gentage gennem a String
med et indeks. For eksempel,
fun main(args: Array) ( var text= "Kotlin" for (item in text.indices) ( println(text(item)) ) )
Når du kører programmet, vil output være:
K otlin
Du lærer at gentage over et kort ved hjælp af for
loop i Kotin-kortartiklen.