1、变种1,一个参数
//第一种 一个参数
def pla1(a1:String): Unit ={
}
2、变种2,两个参数
//第二种 两个参数
def pla2(a1:String,a2:String): Unit ={
}
pla2(a2 = "hei",a1 = "haha")
3、变种3,参数默认值
//第三种 参数默认值
def pla3(a1:String,a2:String="heihei"): Unit ={
}
4、变种4,无限变长参数
//第四种 无限参数
def pla4(a1:String,a2:String*): Unit ={
}
5、变种5,省略返回类型
//第五种 省略返回类型,可以有返回值,
// 自动推断类型,但是不能显示的使用return
def pla5(a1:String)={
}
6、变种6 指定返回类型
//第六种 显示返回类型,这里可以使用return,也可以不使用
// scala 建议不用写
// 没有写返回类型的时候,不能使用return关键字
// 指定了返回类型后,可以使用return,也可以不使用return
def pla6(a1:String): Int ={
10
}
7、变种7,省略等于号 –> 方法 + 匿名函数
//第七种 省略等于号
//这里没有显示返回类型,但是可以使用return关键字了
//因为这是一个方法,而不是一个函数
//有等号是函数
//pla7 是一个 方法,不是一个函数,函数是一定要写上等于号的
def pla7(a1:String){
return 10
}
//那么函数什么时候可以不写等于号呢?? 匿名函数
(a1:String) => println(a1.length)
//f1 是变量名, 这个匿名函数没有名字,这个函数赋值给一个变量而已,函数也是对象
//我们可以通过这个变量名,来调用这个函数
val f1 = (a1:String) => println(a1.length)
f1("haha")
//函数还可以给函数传值,函数套函数,函数柯里化,这些就属于scala函数的高阶函数