Kotlin 函数式编程与并发编程基础
1. 函数式编程基础
在函数式编程中,有几个重要的概念和技术,它们能帮助我们编写更高效、更易维护的代码。
1.1 纯函数与可预测性
当我们对同一个列表调用函数两次时,可能会得到不同的结果。例如:
val list = mutableListOf(1, 2, 3)
println(removeFirst(list)) // Prints 1
println(removeFirst(list)) // Prints 2
但如果使用下面这个函数:
fun <T> withoutFirst(list: List<T>): T {
return ArrayList(list).removeAt(0)
}
无论调用多少次,结果都是可预测的:
val list = mutableListOf(1, 2, 3)
println(withoutFirst(list)) // It's 1
println(withoutFirst(list)) // Still 1
这里使用了不可变接口 List<T> ,避免了输入被修改的可能性。结合不可变值,纯函数能提供可预测的结果,便于测试和算法并行化,而且不依赖外部因素,所见即所得。 </
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



