Avatar ·

如何在Kotlin中创建倒序(从大到小)的range?

大家好!我最近开始学习Kotlin,在处理ranges时遇到了问题。我需要用for循环从10到1遍历数字,也就是倒序。我尝试这样写: ```kotlin for (i in 10..1) { println(i) } ``` 但这段代码没有任何输出!我期望看到数字10, 9, 8... 1,但循环根本没有执行。我查阅了文档,了解到`10..1`创建了一个空的range,因为默认步长是+1,而起始值大于结束值。 我尝试使用`downTo`: ```kotlin for (i in 10 downTo 1) { println(i) } ``` 这成功了!但我有几个问题: 1. 为什么`10..1`不工作,而`10 downTo 1`工作? 2. 能否创建一个存储倒序序列的range变量,以便多次使用? 3. 还有其他方法实现倒序遍历吗,比如通过`reversed()`或`step`? 请解释一下正确的用法。