Scala语法四-函数基础4.1 函数定义4.1.1 基本语法deffunctionName(parameter1:Type1,parameter2:Type2):ReturnType={// 函数体// 最后一个表达式就是返回值(不需要return)}示例:defsum(x:Int,y:Int):Int={x+y}// 如果函数体只有一行,可以省略花括号defsum(x:Int,y:Int):Int=x+y4.1.2 无返回值函数(Unit)defprintHello(name:String):Unit={println(s"Hello,$name!")}// 返回Unit时可以省略: UnitdefprintHello(name:String){println(s"Hello,$name!")}4.2 函数参数4.2.1 默认参数defgreet(name:String="Guest"):String={s"Hello,$name!"}println(greet())// 使用默认值:Hello, Guest!println(greet("Alice"))// 传入参数:Hello, Alice!4.2.2 带名参数defprintPerson(name:String,age:Int,city:String):Unit={println(s"$name,${age}岁, 来自${city}")}// 使用带名参数,可以不按顺序printPerson(age=25,name="Bob",city="北京")4.2.3 可变参数defsum(numbers:Int*):Int={varresult=0for(n-numbers){result+=n}result}println(sum(1,2,3))// 输出 6println(sum(1,2,3,4,5))// 输出 15// 将序列作为参数传入(使用 : _*)vallist=List(1,2,3,4)println(sum(list:_*))// 输出 104.3 递归函数4.3.1 基本递归deffactorial(n:Int):Int={if(n