Kotlin匿名函数的用例?

根据我的理解,Kotlin中的匿名函数允许你指定返回类型。 除此之外,匿名内的return语句只会退出函数块,而在lambda中则会退出函数的封闭函数。

尽管如此,我无法想象在Lambda语法不能提供的Kotlin中匿名函数的真实世界用例是什么?

Kotlin高阶函数与Lambda

用例是有时我们可能希望明确返回类型。 在这些情况下,我们可以使用所谓的匿名函数。 例:

fun(a: String, b: String): String = a + b 

或者更好的返回控制如:

 fun(): Int { try { // some code return result } catch (e: SomeException) { // handler return badResult } } 

匿名函数(又名函数表达式)当你必须通过一个复杂的逻辑庞大的lambda表达式时非常方便,并且希望早期的返回工作。 例如,如果你在spark-java中写一个调度器:

 get("/", fun(request, response) { // Your web page here // You can use `return` to interrupt the handler })