Kotlin 中的 also 和 run:选择正确的作用域函数

在 Kotlin 中,also 和 run 是两个十分有用的作用域函数。

虽然它们在功能上相似,但各自有独特的用途和适用场景。

一、分析:

  1. also:在对象的上下文中执行给定的代码块,并返回对象本身。它的参数是一个接收对象并返回 Unit 的 lambda 函数。
  2. run:在对象的上下文中执行给定的代码块,并返回代码块的结果。当对象调用 run 时,它不需要参数。

二、使用场景:

  1. 使用 also:当你想要对对象执行附加的操作(例如记录或打印值)而不改变对象本身时。also 通常用于链式调用。
kotlin 复制代码
val list = mutableListOf(1, 2, 3).also {
	println("初始化列表: $it") 
}
  1. 使用 run:当你需要在对象的上下文中执行一系列操作,并需要一个结果时。它非常适合对对象的属性进行变换或计算。
kotlin 复制代码
val length = "Hello, Kotlin!".run { 
    println("字符串长度是: $length")
    length // 返回值
}

also 和 run 的合理使用可以使 Kotlin 代码更加简洁。

感谢阅读,Best Regards!

相关推荐
张较瘦_20 分钟前
[论文阅读] 软件工程 | 解决Java项目痛点:DepUpdater如何平衡依赖升级的“快”与“稳”
java·开发语言·论文阅读
老华带你飞22 分钟前
记录生活系统|记录美好|健康管理|基于java+Android+微信小程序的记录生活系统设计与实现(源码+数据库+文档)
android·java·数据库·vue.js·生活·毕设·记录生活系统
峥嵘life25 分钟前
Android16 更新fastboot版本解决fastbootd模式识别不到设备问题
android·学习
HalvmånEver32 分钟前
Linux:基础开发工具(一)
linux·运维·服务器·开发语言·学习·进阶学习
杜子不疼.33 分钟前
【C++】深入拆解二叉搜索树:从递归与非递归双视角,彻底掌握STL容器的基石
开发语言·c++
天若有情67334 分钟前
从零实现轻量级C++ Web框架:SimpleHttpServer入门指南
开发语言·前端·c++·后端·mvc·web应用
weixin_4565881542 分钟前
JVM(java虚拟机)
java·开发语言·jvm
hygge99942 分钟前
JVM 内存结构、堆细分、对象生命周期、内存模型全解析
java·开发语言·jvm·经验分享·面试
小二·44 分钟前
Java虚拟机(JVM)面试题(51道含答案)
java·开发语言·jvm
无敌最俊朗@1 小时前
03-事务高频面试总结
java·开发语言·jvm