中綴表達式
隻有一個參數,且用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)