3.3条件表达式 if-else
在 Kotlin 中,if
是一个表达式,即它会返回一个值。 因此就不需要三元运算符(条件 ? 然后 : 否则
),因为普通的 if
就能胜任这个角色。
// 传统用法
var max = a
if (a < b) max = b
// With else
var max: Int
if (a > b) {
max = a
} else {
max = b
}
// 作为表达式
val max = if (a > b) a else b
if的分支可以是代码块,最后的表达式作为该块的值:
val max = if (a > b) {
println("Choose a")
a //分支的最后一个表达式作为该块的值
} else {
println("Choose b")
b //分支的最后一个表达式作为该块的值
}
如果你使用 if 作为表达式而不是语句(例如:返回它的值或者 把它赋给变量),该表达式需要有 else 分支。
结合in
val a = 3
if(a in 1 .. 10){
println("has a")
}else{
println("has't a")
}
最后附上示例项目Github