Kotlin if 表达式
Kotlin 中的 if
表达式不仅可以用于传统的条件分支控制,还可以作为表达式返回结果。与其他一些语言不同,Kotlin 的 if
结构像 Java 的三元运算符,但更加灵活且可读性更高。以下是一些使用 if
表达式的例子:
基本用法
val max = if (a > b) a else b
在这个例子中,if
表达式会判断 a
是否大于 b
,如果是,max
将被赋值为 a
,否则为 b
。
带块的 if
表达式
val max = if (a > b) {
println("A is greater")
a // 这行的值是返回值
} else {
println("B is greater or equal")
b // 这行的值是返回值
}
在这种情况下,每个分支都是一个代码块,最后一行的值就是整个 if
表达式的值。
if
和 else if
Kotlin 的 if
表达式也可以有多个分支,类似于其他语言中的 else if
结构:
val result = if (score > 90) {
"A"
} else if (score > 80) {
"B"
} else if (score > 70) {
"C"
} else {
"D"
}
返回值类型
需要注意的是,所有分支的返回值类型必须兼容,因为 if
表达式的整体类型由不同分支推导出的共同类型决定。
总结
if
可以用作表达式,并返回一个值。- 分支的最后一行是该分支的返回值。
- 所有分支的返回值类型必须兼容。
通过这种方式,Kotlin 的 if
表达式让代码变得更简洁和可读。