函数式编程的核心概念如下:
- 头等函数---把函数当做值使用,可以用变量保存它,把它当做参数传递或者当做其他函数的返回值。
- 不可变性---使用不可变对象,这保证了他们的状态在器创建之后不能再变化
- 无副作用---使用的是纯函数。此类函数在输入相同时会产生同样的结果,并且不会修改其他对象的状态,也不会和外面的世界交互
fun findKaly()= findPerson{ it.name=="Kaly"}--->包含了寻找人的逻辑
funfindDog()=findanymal{it.name=="alasijia"}
函数式编程风格的代码带来的第二个好处是多线程安全。多线程程序中最大的错误来源之一就是在没有采用适当同步机制的情况下,在不用的县城上修改同一份数据。如果使用的不可变数据结构和纯函数,就能保证这样的不安全的修改不会发生,也就不需要考虑为其设计复杂的同步方案。