Kotlin匿名函数用例?

问题描述:

基于我的理解,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 
}) 
+0

'get(“/”){req,res - > if(sth)return @ get; dosth()}'工作得很好 – msrd0