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

相关推荐
奋斗吧程序媛4 分钟前
常用且好用的命令
前端·编辑器
LXS_3575 分钟前
C++常用容器(下)---stack、queue、list、set、map
开发语言·c++·学习方法·改行学it
愚者游世7 分钟前
list Initialization各版本异同
开发语言·c++·学习·程序人生·算法
2301_796512527 分钟前
【精通篇】打造React Native鸿蒙跨平台开发高级复合组件库开发系列:Lazyload 懒加载(懒加载的图片)
前端·javascript·react native·react.js·ecmascript·harmonyos
敲敲了个代码13 分钟前
从N倍人力到1次修改:Vite Plugin Modular 如何拯救多产品前端维护困境
前端·javascript·面试·职场和发展·typescript·vite
Poetinthedusk17 分钟前
WPF应用跟随桌面切换
开发语言·wpf
Yff_world21 分钟前
网络安全与 Web 基础笔记
前端·笔记·web安全
Sapphire~21 分钟前
Vue3-19 hooks 前端数据和方法的封装
前端·vue3
Hello World . .22 分钟前
数据结构:二叉树(Binary tree)
c语言·开发语言·数据结构·vim
叫我辉哥e124 分钟前
新手进阶Python:办公看板升级交互式可视化+移动端适配+多终端同步
开发语言·python