Kotlin 5 控制流,返回和跳转

297 阅读1分钟

注:当前文档为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语言中心站