天天看點

表達式(中綴表達式,分支表達式,when表達式)

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