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函数类似,还可以链式调用

相关推荐
SpringLament2 分钟前
TanStack Virtual 源码解析:定高/不定高虚拟列表实现原理以及框架无关设计
前端·javascript
猪猪拆迁队2 分钟前
高性能 Package构建系统设计与实现
前端·后端·node.js
刘晓倩4 分钟前
Python3的Sequence
开发语言·python
UIUV6 分钟前
JavaScript中instanceof运算符的原理与实现
前端·javascript·代码规范
前端fighter7 分钟前
全栈项目:闲置二手交易系统(一)
前端·vue.js·后端
飞行增长手记12 分钟前
IP协议从跨境到物联网的场景化应用
服务器·前端·网络·安全
消失的旧时光-194314 分钟前
彻底理解 synchronized:实例锁、类锁与自定义锁的原理和最佳实践
java·开发语言
QING61814 分钟前
Jetpack Compose Brush API 详解 —— 新手指南
android·kotlin·android jetpack
鹿里噜哩15 分钟前
Spring Authorization Server 打造认证中心(二)自定义数据库表
spring boot·后端·kotlin
我叫张小白。15 分钟前
Vue3 插槽:组件内容分发的灵活机制
前端·javascript·vue.js·前端框架·vue3