返回、跳转
Kotlin有三个跳转表达式:
- return,默认情况返回封闭函数或匿名函数。
- break,结束最近的一层循环
- continue,开启最近一层循环的下一个遍历操作
这几个表达式都可以用来作为更大的表达式的一部分:
val s = person.name ?: return
这种表达式的类型叫做Nothing类型。
val s = person.name ?: throw IllegalArgumentException("Name required")
throw是Kotlin中的表达式,你可以使用它。throw表达式的类型就是特殊的Nothing类型。这种类型没有值,被用来标记不会到达的代码位置。在代码中可以使用Nothing标记一个函数永远都不return。
fun fail(message: String): Nothing {
throw IllegalArgumentException(message)
}
当调用这个函数时,编译器将会知道代码的执行将不再进行。
val s = person.name ?: fail("Name required")
println(s)
当执行到这个位置时意味着s已经被初始化,而不是failed。