基於我的理解,Kotlin中的匿名函數允許您指定返回類型。除此之外,匿名內的return語句只會退出功能塊,而在lambda中則會退出封閉函數。Kotlin匿名函數用例?
儘管如此,我無法想象Lambda語法無法提供的Kotlin匿名函數的真實世界用例是什麼?
Kotlin Higher Order Function and Lambda
基於我的理解,Kotlin中的匿名函數允許您指定返回類型。除此之外,匿名內的return語句只會退出功能塊,而在lambda中則會退出封閉函數。Kotlin匿名函數用例?
儘管如此,我無法想象Lambda語法無法提供的Kotlin匿名函數的真實世界用例是什麼?
Kotlin Higher Order Function and Lambda
的使用情況是,有時我們不妨更明確一些返回類型。在這些情況下,我們可以使用所謂的匿名功能。例如:
fun(a: String, b: String): String = a + b
或者更好回報的控制,如:
fun(): Int {
try {
// some code
return result
} catch (e: SomeException) {
// handler
return badResult
}
}
匿名函數(a.k.a函數表達式)都非常方便,當你必須通過複雜的邏輯巨大的拉姆達,並希望早日返回工作。例如,如果你寫一個調度器在spark-java:
get("/", fun(request, response) {
// Your web page here
// You can use `return` to interrupt the handler
})
'get(「/」){req,res - > if(sth)return @ get; dosth()}'工作得很好 – msrd0