面试题答案
一键面试Kotlin中Lambda表达式基本语法结构
- 一般形式:
{ 参数 -> 函数体 }
- 参数:可以有零个或多个参数,参数之间用逗号分隔。如果只有一个参数,且类型可以由上下文推断,参数声明部分的括号可以省略。
->
:分隔参数和函数体的符号。- 函数体:包含具体执行的代码逻辑,函数体的最后一行表达式的值将作为Lambda表达式的返回值。如果函数体只有一行代码,大括号也可以省略。
使用Lambda表达式作为函数参数实现整数列表过滤只保留偶数
fun main() {
val numbers = listOf(1, 2, 3, 4, 5, 6)
val evenNumbers = numbers.filter { it % 2 == 0 }
println(evenNumbers)
}
在上述代码中:
numbers
是一个整数列表。filter
是Kotlin集合的扩展函数,它接受一个Lambda表达式作为参数。{ it % 2 == 0 }
这个Lambda表达式,it
代表集合中的每个元素,通过判断it
对2取余是否为0,来确定是否为偶数,符合条件的元素将被保留在过滤后的列表中。最后将过滤后的偶数列表打印出来。