- Learn Kotlin Programming(Second Edition)
- Stephen Samuel Stefan Bocutiu
- 375字
- 2021-06-24 14:13:27
Loops
Kotlin supports the usual duo of loop constructs found in most languages—the while loop and the for loop. The syntax for while loops in Kotlin will be familiar to most developers, as it is exactly the same as most C-style languages:
while (true) { println("This will print out for a long time!") }
The Kotlin for loop is used to iterate over any object that defines a function or extension function with the name iterator. All collections provide this function:
val list = listOf(1, 2, 3, 4) for (k in list) { println(k) } val set = setOf(1, 2, 3, 4) for (k in set) { println(k) }
Note the syntax using the in keyword. The in operator is always used with the for loops. In addition to collections, integral ranges are directly supported either inline or defined outside:
val oneToTen = 1..10 for (k in oneToTen) { for (j in 1..5) { println(k * j) } }
Any object can be used inside a for loop provided that it implements a function called iterator , making this an extremely flexible construct. This function must return an instance of an object that provides the following two functions:
- The fun hasNext(): Boolean operator
- The fun next(): T operator
The compiler doesn't insist on any particular interface, as long as the object returned has those two functions present. For example, in the standard String class, Kotlin provides an iterator extension function that adheres to the required contract, and so strings can be used in a for loop to iterate over the individual characters:
val string = "print my characters" for (char in string) { println(char) }
Arrays have an extension function called indices, which can be used to iterate over the index of an array:
for (index in array.indices) { println("Element $index is ${array[index]}") }
- Visual Basic程序開發(fā)(學(xué)習(xí)筆記)
- 青少年美育趣味課堂:XMind思維導(dǎo)圖制作
- PyTorch自然語言處理入門與實(shí)戰(zhàn)
- 數(shù)據(jù)結(jié)構(gòu)簡明教程(第2版)微課版
- Practical DevOps
- TypeScript實(shí)戰(zhàn)指南
- Elasticsearch for Hadoop
- Windows Server 2016 Automation with PowerShell Cookbook(Second Edition)
- 網(wǎng)站構(gòu)建技術(shù)
- Java Web從入門到精通(第3版)
- iOS開發(fā)項目化入門教程
- Python Machine Learning Cookbook
- Java EE 7 Development with WildFly
- Jakarta EE Cookbook
- Microsoft XNA 4.0 Game Development Cookbook