Kotlin匿名函数用例?
问题描述:
基于我的理解,Kotlin中的匿名函数允许您指定返回类型。除此之外,匿名内的return语句只会退出功能块,而在lambda中则会退出封闭函数。Kotlin匿名函数用例?
尽管如此,我无法想象Lambda语法无法提供的Kotlin匿名函数的真实世界用例是什么?
答
的使用情况是,有时我们不妨更明确一些返回类型。在这些情况下,我们可以使用所谓的匿名功能。例如:
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