这个 Scala 递归代码有什么问题?

What is wrong with this Scala recursive code?

我最近开始学习 Scala 并尝试在其中实现一个递归函数。我这个练习的目标是 return 斐波那契数列中的第 n 个数字。

def fib(n: Int ): Int = {

  def go(n:Int, prev:Int, curr: Int, res:Int): Int =
    if (n == 0 ) res
    else go(n-1, curr, prev+curr, prev+curr)

    go (n, 0, 1, 0 )
}

def main(args: Array[String]): Int =
  println(fib(7))

没有编译错误,但是结果以左括号和右括号形式出现。

结果-->()

任何建议。

终于明白了。

这是我的做法。

def fib(n: Int ) : Int = {    
 def go(n: Int, prev: Int, curr: Int, res: Int): Int =     

 if (n == 0 ) res     
 else go(n-1, curr, prev+curr, prev+curr)     

 go (n-2, 0, 1, 0 )
}
def main(args: Array[String]): Unit = 
   println(fib(10))