Scala函数式编程

一、函数式编程定义:

Scala是一门既面向对象,又面向过程的语言。在Scala中,函数与类、对象地位是一样,所以说scala的面向过程其实就重在针对函数的编程 了,所以称之为函数式编程

  • 在Scala中定义函数需要使用 def 关键字,函数包括函数名、参数、函数体
  • Scala要求必须给出函数所有参数的类型,但是函数返回值的类型不是必须的,因为Scala可以自己根据函 数体中的表达式推断出返回值类型,
  • 函数中最后一行代码的返回值就是整个函数的返回值,不需要使用return

二、函数赋值给变量

函数,可以独立定义,独立存在,而且可以直接将函数作为值赋值给变量。

Scala的语法规定,将函数赋值给变量时,必须在函数后面加上空格和下划线

 三、匿名函数和高阶函数

  • 在函数中也可以不用命令,这种函数称为匿名函数,可以将匿名函数直接赋值给某个变量
  • 在接收其它函数作为当前函数的参数,当前这个函数也被称为高阶函数

 其中(String) =>Unit 表示这个函数接收一个字符串,没有返回值

四、常见的高阶函数

map:对传入的每个元素都进行处理,返回一个元素

 flatMap:对传入的每个元素都进行处理,返回一个或者多个元素

 foreach:对传入的每个元素都进行处理,但是没有返回值

 

 filter:对传入的每个元素都进行条件判断,如果返回true,则保留该元素,否则过滤掉该元素

 

 reduceLeft:从左侧元素开始,进行reduce操作

 

 五、其它高级特性

  5.1 option与模式匹配

Option有两种值,一个是Some,表示有值,一个None ,表示没有值

 5.2 对变量的值进行模式匹配

match case语法格式:变量 match { case 值 => 代码 } 如果值为下划线,则代表了不满足以上所有情况下的默认处理,match case中,只要一个case分支满足并处理了,就不会继续判断下一个case分支了

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值