[英]Scala recursive function values definition
这个非编译代码定义递归函数值,
val factorial = (n:Int) => if (n < 1) 1 else n * factorial(n-1)
产生错误信息,例如
recursive value factorial needs type
如何声明返回类型?
像这样
val factorial: Int => Int = (n:Int) => if (n<1) 1 else n*factorial(n-1)
事实上,我会像这样写:
def factorial(n: Int): Int = if (n < 1) 1 else n * factorial(n-1)
val factorial: Int => Int = (n) => if (n<1) 1 else n*factorial(n-1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.