Kotlin作用域函数:let、also、run、apply、with

​​​​​​​

let函数

使用场景:可空变量的操作,无需判空

Kotlin 复制代码
p?.let {
        it.name = "lily"
        it.age = "21"
    }

also函数

使用场景:多个扩展函数链式调用(返回值是本身)

Kotlin 复制代码
p?.also {
        it.name = "deni"
        it.age = "26"
    }?.displayInfo() 

with函数

使用场景:可以省去类名重复,直接调用类的方法就行

Kotlin 复制代码
 with(p) {
       name = "leon"
       age = "26"
    }

run函数

使用场景:既可以空变量的操作,无需判空,又可以省去类名重复,直接调用类的方法就行

apply函数

使用场景:跟run函数类似,还可以链式调用

相关推荐
沐知全栈开发几秒前
C++ 多态
开发语言
zihan03215 分钟前
若依(RuoYi)框架核心升级:全面适配 SpringData JPA,替换 MyBatis 持久层方案
java·开发语言·前端框架·mybatis·若依升级springboot
先做个垃圾出来………10 分钟前
Python字节串“b“前缀
开发语言·python
_Eleven25 分钟前
继TailWindCss和UnoCss后的CSS-in-JS vs Utility-First 深度对比
前端
GinoWi30 分钟前
CSS属性 - 边距属性
前端
无限进步_30 分钟前
21. 合并两个有序链表 - 题解与详细分析
c语言·开发语言·数据结构·git·链表·github·visual studio
豆苗学前端31 分钟前
彻底讲透医院移动端手持设备PDA离线同步架构:从"记账本"到"分布式共识",吊打面试官
前端·javascript·后端
神奇大叔36 分钟前
Java 配置文件记录
java·开发语言
AKclown43 分钟前
Vibe coding(AI编程一网打尽)
前端·react.js
埋塘小王子43 分钟前
React项目白屏兜底神器?ErrorBounary你了解吗?
前端