在Kotlin中,几乎一切都是表达式,也就是说一切都会返回一个值。这在函数式编程中是非常重要的,当你使用 try-catch 处理边界的问题或者当抛出异常的时候。
比如,在上一个例子中,我们可以给结果分配一个exception就算他们不是相同的类型,而不是必须要去创建一个完整的代码块。当我们需要在一个when 分支中抛出一个exception的时候也是非常有用:
val x = when(y){
in 0..10 -> 1
in 11..20 -> 2
else -> throw Exception("Invalid")
}
try-catch 中也是一样,我们可以根据try的结果分配一个值:
val x = try{ doSomething() }catch{ null }
网友评论