[日更][11]-Kotlin
2023-08-20 本文已影响0人
代码多哥
因为时间很短,所以内容不是很复杂,写一个有价值的小知识,主要是为了保持每日学习和写作的习惯,大作还是会写到相关的主题里面,尽量做到周更。敬请关注本人的主要作品集:
为了能够最大限度的保证文章的质量,日更主要采用翻译的方法来完成。本系列将主要翻译Kotlin官网的内容。具体的地址
https://kotlinlang.org/docs/home.html
十 控制流 - Ranges
在讨论循环之前,我们有必要了解如何构造循环的Ranges以便进行迭代。
在Kotlin中创建Ranges的最常见方法是使用..操作符(两个点),例如,1..4等价于1、2、3、4。
若要声明不包括结束值的Ranges,请使用..<(两个点+<)操作符,例如,1..<4等价于 1,2,3。
若要以相反的顺序声明Ranges,请使用downTo。例如,4 downTo 1 等价于 4,3,2,1
要声明一个以非1的步长递增的Ranges,请使用step和所需的增量值。例如,1..5 step 2 等价于 1,3,5。
您也可以对Char范围执行同样的操作:
-
'a'..'d' 等价于 'a', 'b', 'c', 'd'
-
'z' downTo 's' step 2 等价于 'z', 'x', 'v', 't'
译者注释:
- Ranges并不是一个类,而是一个范围的概念,背后的类是类似于IntProgression这个的定义,它继承自Iterable
- downTo 是一个扩展函数,并不是关键字,后面一个值需要小于前面一个值负责范围的大小为0
- 判断是否在Ranges内,可以用in操作符,包含边界值
assertTrue(1 in 1..10)
assertTrue(10 in 1..10)