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

相关推荐
Full Stack Developme15 小时前
Java 常用通信协议及对应的框架
java·开发语言
zadyd16 小时前
Workflow or ReAct ?
前端·react.js·前端框架
飞Link17 小时前
告别盲目找Bug:深度解析 TSTD 异常检测中的预测模型(Python 实战版)
开发语言·python·算法·bug
1.14(java)17 小时前
Spring-boot快速上手
java·开发语言·javaee
北寻北爱17 小时前
vue2和vue3使用less和scss
前端·less·scss
记忆多17 小时前
c++名字空间 函数模版 左右值
开发语言·c++·算法
IT_陈寒18 小时前
Redis性能提升3倍的5个冷门技巧,90%开发者都不知道!
前端·人工智能·后端
雨雨雨雨雨别下啦18 小时前
Vue案例——面经
前端·javascript·vue.js
2401_8898846618 小时前
高性能计算通信库
开发语言·c++·算法
oo1213818 小时前
里程碑5 - 完成框架 npm 包抽象封装并发布
前端·npm