kotlin 尾随Lambda表达式函数的常用简写

写demo测试下:

Kotlin 复制代码
fun invokeFunc(str: String, func: (String) -> Unit) {
    func(str)
}

fun invokeFunc2(str: String, func: () -> String) {
    println(func())
}

fun main() {
    // 普通调用方式,第二个参数可以传lambda表达式:
    invokeFunc("""
    东临碣石,以观沧海。水何澹澹,山岛竦峙。树木丛生,百草丰茂。秋风萧瑟,洪波涌起。
    日月之行,若出其中;星汉灿烂,若出其里。幸甚至哉,歌以咏志。""", {str->println(str)})
    
    // 尾随Lambda表达式的简写调用写法。即当函数最后一个参数是 Lambda‌,以将 Lambda 表达式写在函数调用括号的外面:
    invokeFunc("老骥伏枥,志在千里。烈士暮年,壮心不已。") {str->println(str)}

    // 尾随Lambda表达式的简写调用写法
    invokeFunc2("周公吐哺,天下归心。") {
        println("尾随Lambda表达式的简写调用写法, 这里省略return关键字,返回最后一个表达式的值")
        "力拔山兮气盖世"
    }
}

打印:

ok. compose框架经常使用这种尾随Lambda的简写语法。

相关推荐
Kapaseker10 小时前
实战 Compose 中的 IntrinsicSize
android·kotlin
A0微声z2 天前
Kotlin Multiplatform (KMP) 中使用 Protobuf
kotlin
alexhilton3 天前
使用FunctionGemma进行设备端函数调用
android·kotlin·android jetpack
lhDream3 天前
Kotlin 开发者必看!JetBrains 开源 LLM 框架 Koog 快速上手指南(含示例)
kotlin
RdoZam3 天前
Android-封装基类Activity\Fragment,从0到1记录
android·kotlin
Kapaseker4 天前
研究表明,开发者对Kotlin集合的了解不到 20%
android·kotlin
郑州光合科技余经理4 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1234 天前
matlab画图工具
开发语言·matlab
dustcell.4 天前
haproxy七层代理
java·开发语言·前端
norlan_jame4 天前
C-PHY与D-PHY差异
c语言·开发语言