我正在通过课程中的函数式编程课程进行scala.我注意到自动样式检查器告诉我使用'return'是一个坏习惯.这是为什么?对我而言,似乎使用return会使代码更具可读性,因为任何其他程序员都可以立即看到它以及函数返回的内容.
例如,这是为什么;
def sum(xs: List[Int]): Int = {
if( xs.length == 0){
return 0
}else{
return xs.head + sum(xs.tail)
}
}
Run Code Online (Sandbox Code Playgroud)
被认为比这更糟糕;
def sum(xs: List[Int]): Int = {
if( xs.length == 0){
0
}else{
xs.head + sum(xs.tail)
}
}
Run Code Online (Sandbox Code Playgroud)
我习惯了javascript,所以这可能是我对此感到不安的原因.不过,任何人都可以明白为什么添加return语句会让我的代码变得更糟吗?如果是这样,为什么语言中有返回声明?