Kotlin Control Flow

1. when

enum class Face {
    PRETTY, UGLY;
}

fun isGood(face: Face, age: Int) = return when(setOf(face, age)) {
     setOf(PRETTY, 20) -> true
     setOf(PRETTY, 40) -> false
     setOf(UGLY, 20) -> false
     else -> false
}

 如果when是空的,那么选项就是Boolean

 

    interface Animal

    class Dog: Animal

    class Cat: Animal

    fun isMine(animal: Animal) = when(animal) {
        is Dog -> true
        if Cat -> true
        else -> false
    }

 

if, when 都可以有代码块,再有代码块的情况下,代码块中最后一条expression就是返回值

 

2. for

val map = TreeMap<Int, String>()

for ((id, name) in map) {
    println("$id's name is $name")
}

 

posted on 2017-10-11 15:33  tianlunte  阅读(195)  评论(0)    收藏  举报