Kotlin 5 控制流,返回和跳转

本文详细介绍了Kotlin语言中的控制流概念,包括条件语句if和when的使用方法,循环语句for和while的语法特点及其优化实现方式,并对return、break及continue等流程控制关键字进行了说明。

注:当前文档为Kotlin自学总结,若什么地方含义模糊不清,敬请指教,谢谢:-)。

目录:
	- 控制流-循环和控制语句
	- 返回和跳转-return,continue,break 
复制代码

控制流

  • if: 作为表达式返回值存在时必须有else.

  • when →代替→ switch

      when (x) {
          1 -> print("x == 1")
          2 -> print("x == 2")
      	3,4 -> print("x == 3 or 4")
      	intValue() -> print("函数返回值")
      	in 5..10 -> print("x is in the range[5,10]")
      	!in 10..20 -> print("x is outside the range[10,20]")
          else -> {
              print("x is one of others")
          }
      } 
    复制代码
  • for: 可以循环遍历任何提供了迭代器的对象。也就是说:

    • 有一个成员函数或者扩展函数 iterator(),它的返回类型

    • 有一个成员函数或者扩展函数 next(),并且

    • 有一个成员函数或者扩展函数 hasNext() 返回 Boolean。

        for (i in array.indices) {
            print(array[i])
        }			
      复制代码

    这种“在区间上遍历”会编译成优化的实现而不会创建额外对象

    • 用库函数 withIndex:

        for ((index, value) in array.withIndex()) {
            println("the element at $index is $value")
        }
      复制代码
  • while

  • do while

跳转返回

  • return - 跳出当前函数所在其他表达式

      val s = person.name ?: return	//Nothing类型  unkown 
    复制代码
  • break - 终止跳出 当前位置包围的循环使用label标记的循环

  • continue - 跳过 当前包围的循环使用label标记的循环 的次数,进行下一次循环

      注:
      	1. 循环使用标签标记,如:label@ for (i in 1..100){}	
      	2. 内部跳出/继续循环时,如:break@label,continue@label
    复制代码
  • 标签处返回(lambda 表达式(Unkown))

      https://www.kotlincn.net/docs/reference/returns.html
    复制代码

本文参考自 Kotlin语言中心站

转载于:https://juejin.im/post/5a3217806fb9a0452a3c57f9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值