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

相关推荐
代码中介商35 分钟前
C++左值与右值:核心判断法则详解
开发语言·c++
JAVA96540 分钟前
JAVA面试-并发篇 05-并发包AQS队列实现原理是什么
java·开发语言·面试
kyriewen1 小时前
浏览器缓存最强攻略:强缓存、协商缓存、CDN、更新策略,一篇搞定
前端·面试·浏览器
Halo_tjn1 小时前
反射与设计模式1
java·开发语言·算法
持敬chijing1 小时前
Web渗透之SQL注入-联合查询注入-注入点数据类型判断
前端·sql·安全·web安全·网络安全·安全威胁分析
珊瑚里的鱼2 小时前
手撕单例模式中的饿汉模式和懒汉模式,懒汉模式还要再多加一个C++11版本的
开发语言·c++·单例模式
_不会dp不改名_2 小时前
python-opencv环境搭建
开发语言·python·opencv
卷帘依旧2 小时前
Web3前端一面
前端
古韵2 小时前
告别手写分页逻辑:usePagination 从 50 行到 3 行
java·前端
小村儿2 小时前
连载12- Cluade code 的MCP 到底还用不用
前端·后端·ai编程