中缀表达式
只有一个参数,且用infix修饰的函数,则可以去掉.() 来调用
例:
class Book{infix fun on(place:String}{...}
Book() on "desk"
分支表达式
注意:不是分支语句,而是分支表达式,因为它有返回值
fun main(args: Array<String>) {
var bool = true
//if表达式.if语句有返回值,所以称为表达式。
val mode = if (bool) {
//最后一句是返回值
1
} else {
2
}
println(mode)
}
when表达式
val x = 5
//比Java的Switch功能更强大
when (x) {
is Int -> println("is Int") //如果执行,则break,不会执行后面的
in 1..100 -> println("in 1..100")
!in 1..100 -> println("not in 1..100")
}
//when有返回值
var str = when {
x < 5 -> "小于5"
else -> "大于等于 5"//注意返回值要完备
}
println(str)