当前位置: 首页 > news >正文

Kotlin中的also、apply、invoke用法详解

以下是 Kotlin 中作用域函数(letrunwithalsoapply)和 invoke 操作符的完整总结,结合代码示例和对比说明,帮助您理解它们的用法和区别。


一、作用域函数:简化对象操作

作用域函数用于在对象的上下文中执行代码块,并根据函数的不同返回对象本身或 lambda 的结果。以下是它们的核心区别:

1. let

  • 引用对象it(默认参数名,可自定义)
  • 返回值:lambda 表达式的结果
  • 典型场景:非空对象操作、链式处理
val name: String? = "Kotlin"
val length = name?.let { println("Name is $it")  // 输出: Name is Kotlinit.length              // 返回结果
}
println(length)  // 输出: 6

2. run

  • 两种形式
    • 扩展函数形式:使用 this 引用对象,返回 lambda 结果。
    • 上下文对象形式:直接调用,返回 lambda 结果。
  • 典型场景:对象配置并返回计算结果。
扩展函数形式
data class Config(var host: String = "", var po

相关文章:

  • 【音视频】SDL事件
  • 操作系统:计算机世界的基石与演进
  • 内耗型选手如何能做到不内耗?
  • 力扣4-最长公共前缀
  • 每天五分钟深度学习框架pytorch:使用visdom绘制损失函数图像
  • LCD1602液晶显示屏详解(STM32)
  • 误触网络重置,笔记本电脑wifi连接不上解决方法(Win10,Win11通用)
  • react slot传递
  • django filter 日期大于当前日期的
  • 游戏引擎学习第247天:简化DEBUG_VALUE
  • 游戏引擎学习第248天:清理数据块显示
  • HQChart k线图配置
  • (七)RestAPI 毛子(Http 缓存/乐观锁/Polly/Rate limiting)
  • MIT XV6 - 1.1 Lab: Xv6 and Unix utilities - sleep
  • springboot不连接数据库启动(原先连接了mysql数据库)
  • 【Axure高保真原型】3级多选下拉列表
  • rocketmq一些异常记录
  • 基于云原生架构的后端微服务治理实战指南
  • Python中的协程(Coroutine)
  • django admin 去掉新增 删除
  • 巴菲特执掌60年,伯克希尔市值如何增长5.5万倍?详解五大经典投资案例
  • 刘洪洁已任六安市委副书记、市政府党组书记
  • 内蒙古公开宣判144件毁林毁草刑案,单起非法占用林地逾250亩
  • 阿斯利康中国区一季度收入增5%,或面临最高800万美元新罚单
  • 体重管理门诊来了,瘦不下来的我们有救了?|健康有方FM
  • “五一”假期预计全社会跨区域人员流动量超14亿人次