for循环
for循环可以遍历任何提供了iterator的对象,语法如下:
for (item in collection) print(item)
也可以是代码块。
for (item: Int in ints) {
// ...
}
使用for循环遍历需要满足三个条件:
- 有一个成员函数iterator()
- iterator有一个next()函数
- hasNext()函数返回布尔类型代表是否还有值可以进行遍历。
以上的三个方法需要标记为operator。
在for循环中如果是基于数据索引进行遍历将不会创建iterator实例。
for (i in array.indices) {
print(array[i])
}
注意,遍历通过一系列编译优化实现无需额外创建的对象。或者,您可以使用withIndex库函数:
for ((index, value) in array.withIndex()) {
println("the element at $index is $value")
}