范圍是指開始值和結(jié)束值之間的區(qū)間,所有可以比較的類型都可以創(chuàng)建范圍,范圍通過關(guān)鍵字..定義。
val aToZ = "a".."z"
val oneToNine = 1..9
可以用in來測(cè)試一個(gè)值是否在某個(gè)范圍內(nèi), in是通過比較來確定是否在范圍內(nèi)。
val isTrue = "c" in aToZ
val isFalse = 12 in oneToNine
數(shù)字范圍(Ints, Longs, and Chars)也可以用在循環(huán)中,比如
for (i in 1..10) {
// do something
}
Kotlin 標(biāo)準(zhǔn)庫提供了一些函數(shù)創(chuàng)建范圍。
val countingDown = 100.downTo(0)
val rangeTo = 10.rangeTo(20)
val oneToFifty = 1..50
val oddNumbers = oneToFifty.step(2)
val countingDownEvenNumbers = (2..100).step(2).reversed()
這些方法定義成數(shù)字類型的擴(kuò)展函數(shù),downTo()創(chuàng)建倒數(shù)范圍, rangTo()創(chuàng)建遞增范圍,step()修改范圍,reversed()反轉(zhuǎn)范圍。
參考
《Programming Kotlin》Stephen Samuel ,Stefan Bocutiu
《Kotlin in Action》Dmitry Jemerov,Svetlana Isakova