Kotlin 条件控制
if表达式
在kotlin中,if是表达式,它可以返回一个值,比如:
//传统用法
var max = a
if(a < b) max = b
//else
var max:Int
if(a>b){
max = a
}else{
max = b
}
//表达式
val max = if(a>b)a else b
When表达式
when取代了C语言中的switch,when将参数与所有分支条件顺序比较,直到某这个分支满足条件。在when中相当于swicth中的defalut,如果其它分支都不满足条件会进入到else
when(x){
1-> print("x==1")
2-> print("x==2")
else->{
print("other")
}
}
检测一个值在(in)or(!in)一个区音或集合中
var x = 1
when(x){
in(1..9)-> print("in 1..9")
!in(1..9)-> print("not in 1..9")
}
可以用is or !is判断是否某个类型
val hasPrefix = when (x) {
is String -> x.startsWith("prefix")
else -> false
}