文章目录
scala有什么特点?什么是函数式编程?有什么优点?
- scala语言集成面向对象和函数式编程
- 函数式编程是一种典范,将电脑的运算看做是函数的和运算
- 函数式编程中,函数是一等公民
scala中的闭包
闭包是一个函数,返回值依赖于声明在函数外部的一个或多个变量。闭包的实质就是代码与用到的非局部变量的混合。
你可以在任何作用域内定义函数:包、类、另一个函数或方法
在函数体内,可以访问到相应作用域内的任何变量。函数可以在变量不处于作用域内时被调用
def mulBy(factor: Double): (x: Double) => factor * x
car tripe = mulBy(3)
println(tripe(13))
scala中的柯里化
柯里化是指原来接收两个参数的函数变成接收一个参数的函数的过程。
新的函数返回一个以原有的第二个参数作为参数的函数
模式匹配
obj match {
case 1 =>
}
守卫
样例类匹配
case class和class的区别
case class
样例类
- 自动添加与类名一致的构造函数(伴生对象,通过apply实现),构造对象时不需要new
- 样例类中的参数默认是val</