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

相关推荐
坐吃山猪几秒前
Python34_装饰器知识
开发语言·python·ubuntu
凯瑟琳.奥古斯特1 分钟前
死锁四大必要条件解析
java·开发语言·后端·职场和发展
xyq20241 分钟前
React 事件处理
开发语言
郭涤生1 分钟前
C++ 20联合体(Union)
开发语言·c++
小草cys2 分钟前
Anaconda 的虚拟环境(envs)从默认的 C 盘迁移到其他磁盘
开发语言·python·anaconda
测试员周周3 分钟前
【Appium 系列】第02节-环境搭建 — Android + iOS 双平台环境配置
开发语言·人工智能·功能测试·appium·自动化·测试用例·web app
Emberone4 分钟前
C++ 模板进阶详解:从非类型参数到特化、偏特化与分离编译
开发语言·c++
凤凰院凶涛QAQ5 分钟前
《C++转Java快速入手系列》实践篇:图书系统
java·开发语言·c++
小短腿的代码世界10 分钟前
Qt位置服务深度解析:从GPS定位到地理围栏的完整架构设计
开发语言·qt
豆苗学前端10 分钟前
【前端内功】同为数据驱动,为什么只有 React 的"心智负担"这么重?(附实战优化指南)
前端·vue.js·面试