Scala方法和函数
1、方法和函数定义形式不同
2、方法就是函数,函数也是对象
3、函数可以作为参数传递到方法中去
方法和函数的参数最多22个
方法
方法定义
    //def 方法名(名称:类型,名称:类型)={方法体}
    def fun1(name:String,age:Int)={
      name+age
    }
    //def 方法名 (名称:类型,名称:类型):返回值类型={方法体}
    def fun2(name:String,age:Int):String={
      name+age
    }    
函数
函数定义
    //val 函数名=(参数名:参数类型,参数名:参数列表)=>{函数体}
    val hanshu = (a:Int,b:Int)=>{
      a+b
    }
    //val 函数名:(参数类型,参数类型)=>返回值类型={函数体}
    val hanshu1:(Int,Int)=>Int={
      (a,b)=>a+b
    }
new Function2[Int, Int, Int] {
      override def apply(v1: Int, v2: Int): Int = {
        v1 + v2
      }
    }
    //Function2[Int, Int, Int]前两个是传入参数,后一个是输出参数
    //创建Function对象,重写apply方法实现
方法转函数
//方法名 _
fun1 _
函数作为参数传入方法
    //定义方法,以函数为参数
    def fun3(f:(Int,Int)=>Int)={
      f(2,4)
    }
    //定义函数
    val n1=(a:Int,b:Int)=>{
      a+b
    }
    val n2:(Int,Int)=>Int={
      (a,b)=>a-b
    }
    //调用方法,参入函数
    fun3(n1)
    fun3(n2)

                
            
        
浙公网安备 33010602011771号