天天看点

表达式(中缀表达式,分支表达式,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)