Kotlin 5 控制流,返回和跳转
注:當(dāng)前文檔為Kotlin自學(xué)總結(jié),若什么地方含義模糊不清,敬請指教,謝謝:-)。
目錄:- 控制流-循環(huán)和控制語句- 返回和跳轉(zhuǎn)-return,continue,break 復(fù)制代碼控制流
-
if: 作為表達(dá)式返回值存在時必須有else.
-
when →代替→ switch
when (x) {1 -> print("x == 1")2 -> print("x == 2")3,4 -> print("x == 3 or 4")intValue() -> print("函數(shù)返回值")in 5..10 -> print("x is in the range[5,10]")!in 10..20 -> print("x is outside the range[10,20]")else -> {print("x is one of others")}} 復(fù)制代碼 -
for: 可以循環(huán)遍歷任何提供了迭代器的對象。也就是說:
-
有一個成員函數(shù)或者擴(kuò)展函數(shù) iterator(),它的返回類型
-
有一個成員函數(shù)或者擴(kuò)展函數(shù) next(),并且
-
有一個成員函數(shù)或者擴(kuò)展函數(shù) hasNext() 返回 Boolean。
for (i in array.indices) {print(array[i])} 復(fù)制代碼
這種“在區(qū)間上遍歷”會編譯成優(yōu)化的實現(xiàn)而不會創(chuàng)建額外對象。
-
用庫函數(shù) withIndex:
for ((index, value) in array.withIndex()) {println("the element at $index is $value")} 復(fù)制代碼
-
-
while
-
do while
跳轉(zhuǎn)返回
-
return - 跳出當(dāng)前函數(shù)或所在其他表達(dá)式
val s = person.name ?: return //Nothing類型 unkown 復(fù)制代碼 -
break - 終止跳出 當(dāng)前位置包圍的循環(huán) 或 使用label標(biāo)記的循環(huán)
-
continue - 跳過 當(dāng)前包圍的循環(huán) 或 使用label標(biāo)記的循環(huán) 的次數(shù),進(jìn)行下一次循環(huán)
注:1. 循環(huán)使用標(biāo)簽標(biāo)記,如:label@ for (i in 1..100){} 2. 內(nèi)部跳出/繼續(xù)循環(huán)時,如:break@label,continue@label 復(fù)制代碼 -
標(biāo)簽處返回(lambda 表達(dá)式(Unkown))
https://www.kotlincn.net/docs/reference/returns.html 復(fù)制代碼
本文參考自 Kotlin語言中心站
總結(jié)
以上是生活随笔為你收集整理的Kotlin 5 控制流,返回和跳转的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于DotNet构件技术的企业级敏捷软件
- 下一篇: cdn服务器