Android面试题之Kotlin的apply、let、also、run函数

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点

apply

apply函数可以看作是一个配置函数,可以传入一个接收者,然后调用一系列函数来配置以便使用,如果提供lambda给apply函数执行,将返回配置好的接收者

apply能让每个配置函数都作用于接收者

val file1 = File("C://Android").apply {
    setExecutable(false)
    setReadable(true)
    setWritable(true)
}

let

能使某个变量作用于其Lambda表达式里,让it关键字能引用它。

fun main() {
    val result = listOf(3,2,1).first().let {
        it*it
    }
    println(result)
}

fun formatName(name:String?): String {
    return name?.let { "Whelcome, $it" } ?: "name?"
}

run

  • 和apply差不多,但返回的是lambda的执行结果,而apply返回的是接收者

  • 可以执行函数引用

  • 多个函数引用可以链式调用

    fun main() {
    var file = File(“D:test.txt”)
    val result = file.run {
    readText().contains(“hava”)
    }
    println(result)
    //执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值