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