【Kotlin 入門指南】匿名函數-函數當參數傳遞

閱讀時間約 1 分鐘
【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 函數接受三個參數:namemsggreeting。其中,greeting 參數是一個函數,該函數接受兩個字串參數並返回一個字串。

main 函數中,我們使用了一個匿名函數 { name: String, msg: String -> "哈囉~ $name, $msg" } 並將其指派給 hello 變數。這個匿名函數符合 greeting 參數所期望的型態,因此我們可以將它作為 showGreeting 函數的第三個參數傳遞進去。

showGreeting 函數內部,我們呼叫了傳入的 greeting 函數,並傳入 namemsg,然後將結果列印出來。在這個例子中,會輸出 "哈囉~ HKT, 今天過得好嗎?"。

這種方式可以使程式碼更加彈性,你可以動態地定義函數並將其傳遞到其他函數中,這樣做有助於簡化程式碼並提高其可讀性。


avatar-img
10會員
231內容數
哈囉!歡迎光臨我的沙龍!我是 KT,一位對應用程式開發充滿熱情的開發者。在這個專屬空間,我將與您分享我在應用開發領域的深入學習心得和豐富的實戰經驗。如果您對應用程式開發技術同樣充滿好奇,渴望不斷探索新知,歡迎成為我們的會員,一起在應用程式開發的旅途上,探索更深層次的技術世界,享受學習的樂趣。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液