第五章
- 函数式编程
- 函数和方法的区别
- 函数声明
- 函数参数
- 可变参数
- 参数默认值
- 函数至简原则
- 匿名函数
- 高阶函数
- 函数作为值传递
- 函数作为参数传递
- 函数作为返回值
- 函数闭包&柯里化
- 函数递归
- 控制抽象
- 惰性函数
- 友情链接
函数式编程
-
面向对象编程
- 解决问题时,分解对象,行为,属性,然后通过对象的关系以及行为的调用来解决问题,Scala语言是一个完全面向对象编程语言。万物皆对象 函数式编程
- 解决问题时,将问题分解成一个一个的步骤,将每个步骤进行封装(函数),通过调用这些封装好的步骤,解决问题,Scala语言是一个完全函数式编程语言。万物皆函数
函数和方法的区别
核心概念
- 为完成某一功能的程序指令(语句)的集合,称为函数
- 类中的函数称之方法
实际应用
- Scala语言的语法非常灵活,可以在任何的语法结构中声明任何的语法
- 函数没有重载和重写的概念;方法可以进行重载和重写
- scala中函数可以嵌套定义
函数声明
函数参数
可变参数
参数默认值
函数至简原则
函数至简原则:能省则省
- 如果函数明确声明Unit,那么即使函数体中使用return关键字也不起作用
- 如果函数明确使用return关键字,那么函数返回就不能使用自行推断了,需要声明返回值类型
- Scala如果想要自动推断无返回值,可以省略等号
匿名函数
没有名字的函数就是匿名函数,可以直接通过函数字面量(表达式)来设置匿名函数
函数字面量定义格式:
val sum: (Int, Int) => Int = (x: Int, y: Int) => x + y
高阶函数
函数作为值传递
函数作为参数传递
函数作为返回值
函数闭包&柯里化
函数递归
一个函数/方法在函数/方法体内又调用了本身,我们称之为递归调用
/**
* 1) 方法调用自身
* 2) 方法必须要有跳出的逻辑
* 3) 方法调用自身时,传递的参数应该有规律
* 4) scala中的递归必须声明函数返回值类型
*/
控制抽象
惰性函数
当函数返回值被声明为lazy时,函数的执行将被推迟,直到我们首次对此取值,该函数才会执行。这种函数我们称之为惰性函数
友情链接
- 上一章
Scala_【4】流程控制 - 下一章
Scala_【6】面对对象