函数的定义为:
def function_name (parameter_list) : return_type = { function_body }
其中,return_type可以省略,使用推断类型,但是recursive method(递归函数)就必须带return_type;函数使用return语句返回值时,必须带return_type;
比如:
def max(x : Int, y : Int) = { if (x > y) x else max(x, y - 1) // ERROR,Recursive method max needs result type }
正确:
def max(x : Int, y : Int):Int = { if (x > y) x else max(x, y - 1) }