使用简略语法传入 lambda 值参

在 Kotlin 中,可以使用简略语法传入 Lambda 表达式作为函数的参数。如果函数的最后一个参数是一个 Lambda 表达式,那么可以将该表达式写在调用括号外面,并使用大括号 {} 包裹起来,从而省略掉部分冗余的语法。这种简略语法可以使代码更加简洁易读。

下面是一个示例代码:

kotlin复制代码
// 定义函数类型的参数
fun performRequest(url: String, callback: (String) -> Unit) {
    // 执行请求操作...
    val response = "Response from $url"
    // 调用回调函数
    callback(response)
}

// 使用简略语法传入 Lambda 表达式作为参数
performRequest("https://my.api.com") { response ->
    println(response)
}
在这个例子中,我们定义了一个名为 performRequest 的函数,它接受一个字符串类型的 URL 和一个函数类型的参数 callback,该参数表示请求完成后的回调函数。在函数体内,我们模拟了一个请求操作,并生成了一个响应字符串。接着,我们调用了回调函数,并传递了该响应字符串作为参数。

在函数调用时,我们使用了简略语法,将 Lambda 表达式写在了调用括号外面,并使用大括号 {} 包裹起来。Lambda 表达式接受一个字符串参数 response,并在函数体内打印了该参数的值。

需要注意的是,使用简略语法时,只有当 Lambda 表达式是函数的最后一个参数时才能省略掉部分冗余的语法,否则需要显式地指定参数名称和类型。
posted @ 2023-03-14 16:20  传说中的旅行者  阅读(36)  评论(0编辑  收藏  举报