Kotlin入門筆記二:when、for、in
阿新 • • 發佈:2019-01-22
Kotlin中when
冒然提到when,想必大家都不知道這是什麼,其實kotlin中的when
就是java的switch
,只不過它的寫法要更簡潔,下面帶大家來熟悉下when的寫法和用法:
fun main(args: Array<String>) {
useWhen(1)
useWhen(2)
}
fun useWhen(flag: Int) {
when (flag) {
1 -> println("when 1")
2 -> println("when 2")
}
}
這是一段很簡單的when語法,相比較java中的case、break要簡潔多了吧,看著也舒服多了。如果將when和enum結合在一起,會更加的方便,比如:
fun main(args: Array<String>) {
useWhen(Anima.BEAR)
useWhen(Anima.CAT)
}
enum class Anima {
DOG, CAT, BEAR
}
fun useWhen(anima: Anima) {
when (anima) {
Anima.BEAR -> println("when bear")
Anima.DOG -> println("when dog")
Anima.CAT -> println("when cat" )
}
}
這裡需要注意,enum列舉的寫法和java很類似,但是大家要看清楚,java中的enum是不需要加class關鍵字的,反而kotlin中必須加上class關鍵字,別疏忽了。使用when來處理enum就不需要使用if來層層判斷了。
when和if語句一樣,都是有返回值的表示式,可以在->後面直接返回一個值或者一個表達體函式。
kotlin中for
1、學習for之前我們先了解下區間和數列
val rang = 1..10
kotlin中使用…來表示一個區間,1…10表達的就是從1到10,包括頭尾,我們用for來列印看看:
fun main(args: Array<String> ) {
val rang = 1..10
for (i in rang) {
println(i)
}
}
輸出結果:
1 2 3 4 5 6 7 8 9 10
結果就顯而易見了,區間的用途很大,在日常開發中處處都能遇見。in不僅可以遞增還可以遞減,並設定遞減的梯度:
fun main(args: Array<String>) {
for (i in 10 downTo 1 step 2) {
print("$i ")
}
輸出結果:
10 8 6 4 2
in結合downTo是遞減的用法,step表示的是遞減的梯度,step 2
就是每次減2.
上面介紹的都是in
結合Int
值來使用,在平時的開發中,處理集合使用for
是再尋常不見的了,下面我們來看看使用in
處理集合:
fun main(args: Array<String>) {
val list = listOf("a", "b", "c", "d")
for ((index, element) in list.withIndex()) {
println("inde: $index, element: $element")
}
}
輸出結果:
inde: 0, element: a
inde: 1, element: b
inde: 2, element: c
inde: 3, element: d
輕輕鬆鬆的就可以列印集合的元素,並且輸出座標,不僅list
可以,set
和map
都是如此。
這期的內容比較簡單,但是卻是日常開發中最常見的,希望大家可以好好理解,下期將為大家帶來kotlin中最期待的空指標問題,在kotlin中得到了很完美的解決。
寫在最後
每個人不是天生就強大,你若不努力,如何證明自己,加油!
Thank You!
–Taonce