Kotlinin for-silmukka toistaa kaiken, mikä tarjoaa iteraattorin. Tässä artikkelissa opit luomaan silmukalle (esimerkkien avulla).
Kotlinissa ei ole perinteistä silmukkaa, toisin kuin Java ja muut kielet.
Kotlinissa for
silmukkaa käytetään iteroimaan alueiden, taulukoiden, karttojen ja niin edelleen (kaikki, mikä antaa iteraattorin).
Kotlinin for
silmukan syntaksi on:
for (kohde kokoelmassa) (// silmukka)
Esimerkki: Toista alueen läpi
fun main(args: Array) ( for (i in 1… 5) ( println(i) ) )
Tässä silmukka toistaa alueen ja tulostaa yksittäisen kohteen.
Kun suoritat ohjelmaa, tulos on:
1 2 3 4 5
Jos silmukan rungossa on vain yksi lause (kuten yllä olevassa esimerkissä), ei ole välttämätöntä käyttää kiharaisia aaltosulkeita ( )
.
fun main(args: Array) ( for (i in 1… 5) println(i) )
Alueen iterointi on mahdollista for
silmukan avulla, koska alueet tarjoavat iteraattorin. Lisätietoja Kotlin-iteraattoreista.
Esimerkki: Eri tapoja toistaa alueen läpi
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) )
Kun suoritat ohjelmaa, tulos on:
for (i in 1… 5) print (i) = 12345 for (i in 5… 1) print (i) = for (i in 5 downTo 1) print (i) = 54321 for (i in 1… 4 step 2) ) print (i) = 135 (i in 4 downTo 1 step 2) -tulostukseen (i) = 531
Iteroituminen matriisin kautta
Tässä on esimerkki iteroida String
taulukon kautta .
fun main(args: Array) ( var language = arrayOf("Ruby", "Koltin", "Python" "Java") for (item in language) println(item) )
Kun suoritat ohjelmaa, tulos on:
Ruby Koltin Python Java
On mahdollista toistaa taulukon kautta, jolla on hakemisto. Esimerkiksi,
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 (kieli (kohde))))
Kun suoritat ohjelmaa, tulos on:
Ruby Python
Jos haluat oppia lisää matriiseista, käy Kotlin-matriiseissa.
Joutuminen jonon läpi
fun main(args: Array) ( var text= "Kotlin" for (letter in text) ( println(letter) ) )
Kun suoritat ohjelmaa, tulos on:
K otlin
Samanlaisia kuin taulukot, voit toistaa String
indeksin avulla. Esimerkiksi,
fun main(args: Array) ( var text= "Kotlin" for (item in text.indices) ( println(text(item)) ) )
Kun suoritat ohjelmaa, tulos on:
K otlin
Opit iteroimaan kartan yli for
silmukan avulla Kotinin karttatuotteessa.