1.1 函数定义
//有参 无返回值def test(a:String,b:Int):Unit = {println("这是一个基本的函数语法 ")}
1.2 函数参数
可变参数一般放置在最后
def test( s : String * ) : Unit = {println(s)}
参数默认值
def test2( name: String , age :Int = 30 ): Unit = {println( s " $name, $age ")}//覆盖test2("zs",20)//age是默认值test2("ls")//带名参数test2(name="w5")
1.3 函数至简原则
1. return 如果是最后一行需要return可以省略
def test() : String = {"test"}
2. 如果有return,则不能省略返回值类型,必须指定
def test() : String = {return "test" //如果此时有return}
3. 只有一行代码,可以省略花括号
def test = "123"
4. 返回值类型如果能推断出来,那么可以省略 : 类型

5. 如果返回值类型是Unit,那么可以省略等号
def test(){println("test")}
6. 如果函数无参数,但是声明了参数列表,那么调用时,小括号,可加可不加
def test() = {"123"}test
7. 如果函数没有参数列表,那么小括号可以省略,
调用时小括号必须省略
def test = {"123"}//test() 报错test
- 如果不关心名称,只关心逻辑处理,那么函数名可以省略
跟Java的匿名内部类类似。
Java中的使用
Function<Integer, String> function = item -> item + "";
