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号