Kotlin 范围

2024 年 8 月 29 日 | 阅读 3 分钟

Kotlin 范围定义为从起始值到结束值的区间。范围表达式是用运算符 (. .) 创建的,该运算符由 in!in 补充。等于或大于起始值且小于或等于结束值的值位于定义的范围内。

在评估上述代码时,val aToZ = 'a'..'z' as 'a' in aToZ 返回 true,'b' in aToZ 返回 true,依此类推。代码 val oneToNine = 1..9 评估为 1 in oneToNine 返回 true,但评估 10 in oneToNine 返回 false

整数类型范围

整数类型范围(IntRange、LongRange、CharRange)是用于 for 循环的能力。编译器将此整数类型转换为 Java 索引 for 循环的简单模拟。

Kotlin 范围的示例

输出

12345
abcdef
1.0..5.0
3.14 in range is true

当我们尝试使用 . . 运算符以递减顺序迭代范围时会发生什么?这将什么都不打印。

   for (a in 5..1){
        print(a )// print nothing
    }

要以递减顺序迭代元素,请使用标准库 downTo() 函数或 downTo 关键字。

直到范围

范围中的 until() 函数或 until 关键字用于排除最后一个元素。它从开始迭代到比结束小 1。

上面的范围排除了 5 并从 1 迭代到 4。

Kotlin 整数范围

让我们看一个使用 downTo()downTorangeTo() 方法的整数范围示例。

输出

12345
54321
12345
54321

Kotlin 字符范围

使用 char 数据类型的 Kotlin 范围示例。

输出

a bcde
edcba

Kotlin 范围步长

Kotlin 范围中的 step 关键字用于以给定步长值(int 值)的间隔迭代范围。

输出

1 3 5 7 9 
10 7 4 1

Kotlin 范围迭代器

iterator() 方法也用于迭代范围值。它使用 hasNext() 方法来检查范围中的下一个元素,并且 next() 方法返回范围的下一个元素。

输出

a b c d e

下一个主题Kotlin 工作范围