Kotlin基础教程-返回值和跳转
2017-05-31 23:32
162 查看
Returns and Jumps
和java类似,Kotlin中有3中跳转语句
return
break
continue
拿之前的for循环语句举例
我给这个for循环加了个标签,标签以@为后缀
标签的作用,可以使得跳转到的位置十分明确,不用再纠结在嵌套for循环中,有跳转到哪里的疑惑。而且也可以随意选择跳转到什么地方,比java的for循环方便多了。
上面的forEach语句,遇到0后,会直接返回。
如果想遇到0跳过,继续遍历下一个元素,这个时候无法使用
也可以使用
我们也可以使用匿名函数代替lambda表达式,匿名函数中的return返回到匿名函数本身。
和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返回到匿名函数本身。
相关文章推荐
- iOS路由跳转(三)之JKRouter基础教程2
- kotlin 官方学习教程之基础语法详解
- Kotlin基础教程-代码编写约定
- Kotlin基础教程-属性和字段
- Kotlin基础教程-类与继承
- PHP基础:页面(链接)跳转教程
- Kotlin基础教程-接口
- Kotlin 官方学习教程之返回和跳转
- Kotlin基础教程之数据类型
- Kotlin 基础教程之异常
- Android 谷歌官方Kotlin语言入门教程(一)基础语法
- Kotlin基础教程之dataclass,objectclass,use函数,类扩展,socket
- Kotlin基础教程-基础语法(2)
- Kotlin基础教程-风格
- Kotlin基础教程之函数定义与变量声明
- kotlin 官方学习教程之基础语法
- Kotlin基础教程-基础语法
- Kotlin基础教程之面向对象
- Kotlin基础教程-包
- android kotlin基础(四)-返回和跳转