# 1. 區間
這里的用法有點類似于在`Python`中的`range`這個函數的用法。在`Kotlin`中提供了`rangeTo`方式,比如下面的案例:
~~~
fun main() {
val name = "天下張"
for(i in 0.rangeTo(name.length - 1)){
print(name.get(i))
}
}
~~~
但是很明顯,這種方式并不好用。還提供了另一種更加簡單的寫法:
~~~
fun main() {
val name = "天下張"
for(i in 0..(name.length - 1)){ // 使用兩個點
print(name.get(i))
}
}
~~~
從上面的案例中我們值得注意一點,就是這里的`int.rangeTo(other)`這種方式左右均為閉區間。
注意到上面的增長方式為`+1`操作,在`kotlin`中提供了設置步長的方式:
~~~
for(i in 1..6 step 2){
println(i)
}
~~~
結果為:
```
1
3
5
```
## 1.1 逆向區間
有些時候需要從大大小,在`kotlin`中提供了逆向區間的方式:
~~~
fun main() {
val name = "天下張"
for(i in 4.downTo(0)){
println(i)
}
}
~~~
結果為:
```
4
3
2
1
0
```
從這里我們也可以知道在`downTo`方法中也是左右兩個閉區間。
- Kotlin語言基礎
- Kotlin的簡介
- Kotlin的變量和常見數據類型
- Kotlin的區間
- Kotlin的位運算
- Kotlin的容器
- Kotlin類型檢查
- Kotlin的空值處理
- Kotlin的函數
- Kotlin的類
- Kotlin的委托
- Kotlin的延遲加載
- Kotlin的異常
- Kotlin的Lambda表達式
- Kotlin的高階函數
- Kotlin的標準庫中的高階函數
- Kotlin的泛型
- Kotlin的表達式
- Kotlin的解構
- Kotlin的運算符重載
- Kotlin語言中級
- Kotlin的擴展函數
- Kotlin的擴展屬性
- Kotlin的infix關鍵字
- Kotlin的DSL
- Kotlin的一些注解(和Java互調用)
- Kotlin的lateinit和by lazy
- Kotlin的反射
- Kotlin的匿名接口
- 安卓中的Kotlin
- 數據庫操作Room