面试题答案
一键面试fun main() {
// 创建不可变列表
val intList: List<Int> = listOf(1, 2, 3, 4, 5)
// 使用函数式编程风格求和
val sum = intList.sum()
println("列表元素的和: $sum")
}
- 体现不可变性:
- 使用
listOf
创建的List
是不可变的。一旦创建,就不能再添加、删除或修改其中的元素。例如,上述代码中创建的intList
无法通过add
、remove
等方法改变其内容,这确保了数据的不可变性。
- 使用
- 体现函数式编程思想:
- 无副作用:在求列表和的过程中,使用
sum
函数,它没有改变列表本身,也没有产生其他可观察的副作用,只是返回了一个新的值(列表元素的和)。 - 函数作为一等公民:虽然这里没有显式传递函数,但
sum
方法是对列表元素进行计算的函数,符合函数式编程将函数视为和其他数据类型一样重要的原则。 - 纯函数:
sum
函数对于相同的输入(即相同的列表),总是返回相同的输出(列表元素的和),不依赖于外部可变状态,这是纯函数的特性,也是函数式编程的重要概念。
- 无副作用:在求列表和的过程中,使用