for循环的语法糖

42 阅读1分钟

在Kotlin中对比于Java出现了许多关键字,如in,step,downTo,以及区间Range的概念,本文就是了解一下他们的基础用法,我在实践的过程了遇到更加合适的应用场景再回来不断更新文章。其他文章也是如此。

in 关键字

熟悉JavaScript的朋友,应该会非常熟悉这个in在JS的用法了。(由于打算走全栈的路线,接触前端的东西也蛮多的,所以我在写文章的时候,想到这些就会啰嗦一两句😂)

在 Kotlin 的 for 循环中,in 用于遍历区间、集合或序列,表示变量依次取值于指定范围或元素集合

for (name in listOf("JS", "TS", "Kotlin","Java")) {
    println(name)
}

区间(Range)的概念

.. 双端闭区间

Kotlin 的区间使用 .. 操作符创建,例如 1..10 表示从 1 到 10 的连续整数序列

// [1,10] 闭合区间
for (i in 1..10) {
    println(i)
}

区间可以用于任何实现了 Comparable 接口的类型,比如字符范围

// [a,e] 闭合区间
for (i in 'a'..'e') {
    println(i)
}

until 左闭右开区间

// [1,2,3,4]
for (i in 1 until 5) {
    println(i)
}

step 控制步长

指定每次循环的步长,可以使用 step 关键字。

// [1,3,5,7,9]
for (i in 1..10 step 2) {
    println(i)
}

downTo反向循环

需要反向遍历,可以使用 downTo

// [10,9,8,7,6,5,4,3,2,1]
for (i in 10 downTo 1) {
    println(i)
}