日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Kotlin学习(7):返回和跳转

發布時間:2023/12/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 ?: return

1、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):返回和跳转的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。