Kotlin几个作用域函数

本文详细介绍了Kotlin中run、let、also和apply四个高阶函数的区别和用法。run函数允许在作用域内使用this并返回最后一行表达式的值;let函数使用it代替当前对象,返回最后表达式的值;also在作用域中使用it,但返回的是原对象;apply同样使用this,但返回的是修改后的当前对象。理解这些函数的差异对于提升Kotlin代码的可读性和简洁性至关重要。
  1. run

    作用域中用this代替当前对象,返回值为当前作用域最后一行或者return
val run: List<ArticleBean>? = articleList?.data?.run {
    this.datas
}

以上返回最后一行

val run: Int? = articleList?.data?.run {
    this.datas
    return@run this.pageCount
}

以上return返回,好像也是最后一行,手动滑稽

  1. let

    作用域中用it代替当前对象,返回值为当前作用域最后一行或者return
val let: List<ArticleBean>? = articleList?.data?.let {
    it.curPage
    it.datas
}

返回最后一行

  1. also

    作用域中用it代替当前对象,返回值为当前对象

val also = articleList?.data?.also {
    it.curPage
    it.datas
}
also?.curPage

返回的还是该对象

  1. apply

作用域中用this代替当前对象,返回值为当前对象

val apply = articleList?.data?.apply {
    this.curPage = 1
}
apply?.curPage

返回的还是该对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值