【Kotlin 入門指南】系列文章目錄:https://bit.ly/3t8awwL
Kotlin 線上課程教學影片:https://bit.ly/3qJ5a5Q
在 Kotlin 中的 Trailing Lambda 表示可以在函數的最後一個參數位置傳遞 Lambda 表達式。當最後一個參數是函數(Lambda)時,我們可以將該函數放在函數調用的括號外面,增加程式碼的可讀性和簡潔性,範例如下:
fun showGreeting(name: String, msg: String, greeting: (String, String) -> String) {
println(greeting(name, msg))
}
fun main() {
//hello 按右鍵 Refactor->Inline property
// var hello = { name: String, msg: String ->
// "哈囉~ $name, $msg"
// }
//可以再簡化
// showGreeting("HKT", "今天過得好嗎?", { name: String, msg: String ->
// "哈囉~ $name, $msg"
// })
showGreeting("HKT", "今天過得好嗎?") { name: String, msg: String ->
"哈囉~ $name, $msg"
}
}
在這個範例中,showGreeting
函數接受三個參數,最後一個參數是一個函數型態 (String, String) -> String
,用於產生問候語。這個函數會把傳入的 name
和 msg
組合成一個問候語,並輸出到控制台上。
在 main
函數中呼叫 showGreeting
時,可以省略最後一個參數的括號,直接在括號外傳遞 Lambda 表達式,以更簡潔地呈現程式碼。
我們使用了 Trailing Lambda 的寫法,將 showGreeting
函數的最後一個參數以 Lambda 表達式的形式放在函數調用的外部。這使得程式碼更加清晰易讀,同時保持了可讀性和簡潔性。