Kotlin 开发 - Kotlin Lambda 表达式返回值

Kotlin Lambda 表达式返回值

  1. 在 Kotlin 的 Lambda 表达式中,最后一个表达式的值会自动作为 Lambda 的返回值,不需要显式使用 return
kotlin 复制代码
val (result, time) = measureTimedValue {
    println("任务开始执行")
    Thread.sleep(3 * 1000)
    println("任务执行完成")
    100
}

println("任务结果: $result")
println("执行耗时: $time")
复制代码
# 输出结果

任务开始执行
任务执行完成
任务结果: 100
执行耗时: 3.013381800s
  1. return 在 Lambda 中默认是非局部返回,它会直接从包含这个 Lambda 的函数返回,而不是从 Lambda 返回
kotlin 复制代码
fun main(): Int {
    val (result, time) = measureTimedValue {
        println("任务开始执行")
        Thread.sleep(3 * 1000)
        println("任务执行完成")
        return 100
    }
}

val result = main()

println("任务结果: $result")
复制代码
# 输出结果

任务开始执行
任务执行完成
任务结果: 100
  1. 如果想在 Lambda 中显式使用 return,需要加标签
kotlin 复制代码
val (result, time) = measureTimedValue {
    println("任务开始执行")
    Thread.sleep(3 * 1000)
    println("任务执行完成")
    return@measureTimedValue 100
}

println("任务结果: $result")
println("执行耗时: $time")
复制代码
# 输出结果

任务开始执行
任务执行完成
任务结果: 100
执行耗时: 3.003060500s
相关推荐
齊家治國平天下7 分钟前
AAOS 电源管理深度解析:休眠/唤醒/功耗优化
android·车载系统·aaos·aosp·电源管理·休眠唤醒·carpowermanager
豆角焖肉15 分钟前
Maven进阶与搭建私服
java·maven
大不点wow26 分钟前
Java序列化与反序列化:让对象走出JVM
java·开发语言·jvm
阿里嘎多学长26 分钟前
2026-07-22 GitHub 热点项目精选
开发语言·程序员·github·代码托管
噢,我明白了30 分钟前
Java中日期和字符串的处理
java·开发语言·日期
爱刷碗的苏泓舒31 分钟前
C 语言 if-else 与 switch-case 分支语句对比
c语言·开发语言
Xzaveir32 分钟前
企业号码展示不可观测怎么办:状态机、拨测事件与异常回放
android·人工智能
dkbnull38 分钟前
Spring Boot请求处理组件对比详解
java·spring boot
jun_bai39 分钟前
Orthanc服务器使用java上传dicom影像文件
java·运维·服务器
-银雾鸢尾-40 分钟前
C#中的泛型约束
开发语言·c#