Kotlin基础教程-返回值和跳转

来源:互联网 发布:上报人数汇总软件 编辑:程序博客网 时间:2024/06/08 15:57

Returns and Jumps

和java类似,Kotlin中有3中跳转语句

  • return
  • break
  • continue

break和continue标签

我们可以给任何表达式起一个别名,kotlin称这个为标签。

拿之前的for循环语句举例

doctorq@for (index in array.indices) {        println(index)    }

我给这个for循环加了个标签,标签以@为后缀

doctorq@ for (i in 1..100) {        doctorq2@ for (j in 1..100) {            if (i > j) break@doctorq2            if (i == 50) break@doctorq        }    }

标签的作用,可以使得跳转到的位置十分明确,不用再纠结在嵌套for循环中,有跳转到哪里的疑惑。而且也可以随意选择跳转到什么地方,比java的for循环方便多了。

return上的标签

在一些嵌套函数中,需要return返回一个值给外部的函数,这个时候就需要用到标签。特别是在lambda表达式中返回:

fun foo() {    ints.forEach {        if (it == 0) return        print(it)    }}

上面的forEach语句,遇到0后,会直接返回。

这里写图片描述

如果想遇到0跳过,继续遍历下一个元素,这个时候无法使用continue

fun foo(array:Array<Int>) {    array.forEach doctorq@{        if (it == 0) return@doctorq        println(it)    }}

这里写图片描述

也可以使用forEach作为标签名字

fun foo() {    ints.forEach {        if (it == 0) return@forEach        print(it)    }}

我们也可以使用匿名函数代替lambda表达式,匿名函数中的return返回到匿名函数本身。

原创粉丝点击