在Kotlin中,lambda是一种匿名函数,可以作为参数传递给其他函数或存储在变量中。如果存在多个相同类型的lambda,可以使用以下方法返回特定的lambda:
val lambda1: (Int) -> Int = { x -> x * 2 }
val lambda2: (Int) -> Int = { x -> x * x }
fun returnSpecificLambda(label: String): (Int) -> Int {
return when (label) {
"lambda1" -> lambda1
"lambda2" -> lambda2
else -> throw IllegalArgumentException("Invalid label")
}
}
val specificLambda = returnSpecificLambda("lambda1")
val result = specificLambda(5) // 使用特定的lambda进行计算
val lambda1: (Int) -> Int = { x -> x * 2 }
val lambda2: (Int) -> Int = { x -> x * x }
fun returnSpecificLambda(lambda: (Int) -> Int): (Int) -> Int {
return when (lambda) {
lambda1 -> lambda1
lambda2 -> lambda2
else -> throw IllegalArgumentException("Invalid lambda")
}
}
val specificLambda = returnSpecificLambda(lambda1)
val result = specificLambda(5) // 使用特定的lambda进行计算
以上两种方法都可以根据需要返回特定的lambda。在实际应用中,可以根据具体场景选择合适的方法。
领取专属 10元无门槛券
手把手带您无忧上云