方法
语法
def methodName (参数名:参数类型, 参数名:参数类型) : [return type] = {
// 方法体:一系列的代码
}
- 参数表的参数类型不能省略
- 返回值
类型
一般情况下可以省略,由scala编译器自动推断 - 返回值
类型
,在递归的情况下必须写,不可以省略 - 返回
值
可以不写return
,返回值默认就是{}块表达式的值,即块表达式最后一行的值
示例1:常规定义
//{}中只有一条语句,省略{}
//{}中只有一行a+b,最后一行a+b的值就是方法的返回值
def add(a:Int,b:Int) = a+b
add(1,2)
结果
示例2:定义递归方法
//定义的递归方法没有写返回值类型,报错
def get(x:Int)={
if(x==1) 1
else x*get(x-1)
}
//正常编译
def get(x:Int):Int={
if(x==1) 1
else x*get(x-