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!

相关推荐
星河耀银海9 小时前
C++面向对象编程:从基础到实战
开发语言·c++
HUST9 小时前
C语言第十一讲: 深入理解指针(1)
c语言·开发语言
虫小宝9 小时前
导购APP高可用数据库设计:主从分离与分库分表在返利系统中的应用
android·数据库
Ccjf酷儿9 小时前
C++语言程序设计 (郑莉)第三章 函数
开发语言·c++
ytttr8739 小时前
基于人工蜂群算法(ABC)的MATLAB数值计算求解框架
开发语言·算法·matlab
我命由我123459 小时前
Android Jetpack Compose - TopAppBar、BottomAppBar、Scaffold
android·java·java-ee·kotlin·android studio·android jetpack·android-studio
Dxy12393102169 小时前
Python如何使用DrissionPage做自动化:简单入门指南
开发语言·python·自动化
珂朵莉MM9 小时前
2025年睿抗机器人开发者大赛CAIP-编程技能赛-高职组(国赛)解题报告 | 珂学家
java·开发语言·人工智能·算法·机器人
do better myself9 小时前
php 使用IP2Location限制指定的国家访问实现
开发语言·php
a努力。9 小时前
虾皮Java面试被问:JVM Native Memory Tracking追踪堆外内存泄漏
java·开发语言·jvm·后端·python·面试