Scala | Scala的四种函数种类

Scala的四种函数种类

知识点:
  1. scala的函数种类可分为4种:
    ①成员函数,函数定义在类的内部,作为类的成员,即为成员函数
    ②本地函数,定义在函数内的函数,即为本地函数

重点:③匿名函数,特点:没有函数名;通过=>来连接参数列表和方法体
关键是匿名函数的作用:
匿名函数可以当做参数进行赋值 ,比如:val f2=(a:Int,b:Int)=>{a+b}
匿名函数可以当做参数进行传递,比如:def f3(a:Int,b:Int,f:(Int,Int)=>Int)={f(a,b)}
此外,可以将匿名函数作为返回值返回

重点:④高阶函数。将函数作为参数传递的函数,即为高阶函数

  1. 匿名函数和高阶函数来自于面向函数的编程,面向函数的编程语言中,函数是一等公民,即函数可以赋值、传递、作为返回值返回。
  2. scala语言既是面向对象的语言,也是面向函数的语言。
  3. scala通用的化简规则:
    ①如果方法体{}只有一行代码,则{}可以省略
    ②当匿名函数作为参数传递时,匿名函数的参数类型可以省略
    ③当匿名函数作为参数传递时,如果匿名函数的参数列表只有一个参数,则参数列表的()可以省略
    ④最终极化简规则:通过_代替参数进行化简
成员函数和本地函数测试代码
class Person {
   
  
  //成员函数
  def say()={
   
    println("hello")
    
    //本地函数
    def speak()={
   
      
      println("world")
    }
  }
}
匿名函数和高阶函数测试代码
object Demo08 {
   
  println("Welcome to the Scala worksheet")       //> Welcome to the Scala worksheet
  
  def f1(a:Int,b:Int)={
   a+b}                       //> f1: (a: Int, b: Int)Int
  
  //定义一个匿名函数
  (a:Int,b:Int)=>{
   a+b}                            //> res0: (Int, Int) => Int = <function2>
  
  //将匿名函数作为参数进行赋值
  val f2=(a:Int,b:Int)=>{
   a+b}                     //> f2  : (Int, Int) => Int = <function2>
  
  f2(2,3)                                         //> res1: Int = 5
  
  //将匿名函数作为参数进行传递
  //定义了一个高阶函数
  def f3(a:Int
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值