Kotlin学习(7):返回和跳转
生活随笔
收集整理的這篇文章主要介紹了
Kotlin学习(7):返回和跳转
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 開發環境:IntelliJ IEDA
- 個人博客:http://blog.csdn.net/IInmy
- 項目源碼:https://github.com/Rushro2m/KotlinForOfficial
- 官方文檔中文版:https://www.kotlincn.net/docs/reference/returns.html
Kotlin有三種結構化跳轉表達式:
- return:默認從最直接包圍它的函數或者匿名函數返回。
- break:終止最直接包圍它的循環。
- continue:繼續下一次最直接包圍它的循環。
所有的這些表達式都可以用作更大表達式的一部分:
val s = Person("張三").name ?: return1、Break與Continue標簽
在Kotlin中任何表達式都可以用標簽(label)來標記。標簽的格式為標識符后跟@符號,例如:abc@、fooBar@都是有效的標簽。要為一個表達式加標簽,我們只要在其前加標簽即可。
loop@ for (i in 1..100) {//...}標簽限制的break跳轉到剛好位于該標簽指定的循環后面的執行點。continue繼續標簽指定的循環下一次迭代。
2、標簽處返回
Kotlin有函數字面量、局部函數和對象表達式。因此Kotlin的函數可以被嵌套。標簽限制的return允許我們從外層函數返回。最終的一個用途就是i從Lambda表達式中返回。
fun foo() {val ints = listOf(0, 1, 2, 3, 4, 5, 6)ints.forEach {if (it == 3)//從Lambda函數中返回,結束這個循環函數returnprint(it)} }這個return表達式從最直接包圍它的函數即foo中返回。如果我們需要從Lambda表達式中返回,我們必須給它加標簽并用以限制return。
fun fzz() {val ints = listOf(0, 1, 2, 3, 4, 5, 6)ints.forEach lit@ {if (it == 0) return@litprint(it)} }通常情況下使用隱式標簽更方便。改標簽與該Lambda的函數同名。
fun fxx() {val ints = listOf(0, 1, 2, 3, 4, 5, 6)ints.forEach {if (it == 0) return@forEachprint(it)} }3、Continue
continue指的是繼續標簽指定的循環的下一次迭代,也就是結束本次循環,開始下一次循環。
for (i in 1..10){if (i==6)continueprint(i)}總結
以上是生活随笔為你收集整理的Kotlin学习(7):返回和跳转的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PR序列、导出设置详解
- 下一篇: woj1572 Cyy and Fzz