Kotlin let与run 使用场景


/**
 * run函数的匿名函数里持有的是this
 */
fun main() {
    val str = "Derry is OK"
    val r1 = str.run {
        true
        54.355f
    }
    println(r1)
    //具名函数配黑run函数
    // 具名函数判断长度 isLong
    //匿名函数配合run
    str.run { }
    //具名函数
    val v2 = str
            .run(::isLong)
            .run(::showText)
            .run(::mapText)
            .run(::println)
    str.run {
        length > 5
    }.run {
        if (this) "你的字符串合格" else "你的字符串不合格"
    }.run {
        "[$this]"
    }.run {
        println(this)
    }

//let和run 差不多 run里面是持有对象this  let里面是持有it
    str
            .let(::isLong)
            .let(::showText)
            .let(::mapText)
            .let(::println)
}


fun isLong(str: String) = str.length > 5
fun showText(isLong: Boolean) = if (isLong) "你的字符串合格" else "你的字符串不合格"
fun mapText(getShow: String) = "[$getShow]";

返回结果

猜你喜欢

转载自blog.csdn.net/mp624183768/article/details/123784020