【Kotlin 入門指南】系列文章目錄:https://bit.ly/3t8awwL
Kotlin 線上課程教學影片:https://bit.ly/3qJ5a5Q
在函數當參數傳遞的情況下。這種方式允許你將函數作為另一個函數的參數傳遞,讓程式碼更為模組化且易於維護,範例如下:
// 定義一個函數,接受兩個字串參數和一個函數作為第三個參數
fun showGreeting(name: String, msg: String, greeting: (String, String) -> String) {
println(greeting(name, msg))
}
fun main() {
// 定義一個匿名函數並將其指派給變數 hello
var hello = { name: String, msg: String ->
"哈囉~ $name, $msg" // 返回一個包含特定內容的字串
}
// 呼叫 showGreeting 函數,將 "HKT", "今天過得好嗎?" 和 hello 作為參數傳遞
showGreeting("HKT","今天過得好嗎?",hello)
}
在這個範例中,showGreeting
函數接受三個參數:name
、msg
和 greeting
。其中,greeting
參數是一個函數,該函數接受兩個字串參數並返回一個字串。
在 main
函數中,我們使用了一個匿名函數 { name: String, msg: String -> "哈囉~ $name, $msg" }
並將其指派給 hello
變數。這個匿名函數符合 greeting
參數所期望的型態,因此我們可以將它作為 showGreeting
函數的第三個參數傳遞進去。
在 showGreeting
函數內部,我們呼叫了傳入的 greeting
函數,並傳入 name
和 msg
,然後將結果列印出來。在這個例子中,會輸出 "哈囉~ HKT, 今天過得好嗎?"。
這種方式可以使程式碼更加彈性,你可以動態地定義函數並將其傳遞到其他函數中,這樣做有助於簡化程式碼並提高其可讀性。