函数和方法
函数和方法的定义方式不同,但是都是用来进行运算的。
方法定义在类上,函数其实是一个对象,可以赋值给一个变量
定义函数
推荐使用第一种函数定义方式
函数接收参数,处理逻辑(参数加逻辑,比方法简洁)
val fun01 = (x:Int,y:Int) => x+y
调用时
fun01(1,2)
其他定义方式了解即可:
val fun = ((x:Int,y:Int)=>x+y)
val fun = (_:Int)+(_:Int)
val fun:(Int,Int) => Int = (_+_)
val fun:(Int,Int)=>Int=(x,y)=>x+y
通过创建对象定义函数
最标准的方式是通过创建一个对象定义函数,因为函数本来就是一个对象
之前的方式简洁一点
//三个类型代表参数1类型,参数2类型,返回值类型,如果多余2个参数的函数定义应该不是使用这个类
//必须重写apply方法
val fun = new Function2[Int,Int,Int] {
override def apply(v1: Int, v2: Int): Int = if(v1<v2) v1 else v2
}
println(fun(1, 2))
定义没有参数的函数
val fun = ()=>println("haha")
//调用时
fun()
"返回的对象类型第Function0,应该是有几个参数,Function后面就是几个"