1. 程式人生 > >scala中迴圈不建議使用while和do...while,而建議使用遞迴

scala中迴圈不建議使用while和do...while,而建議使用遞迴

解析,因為while和do…while中沒有返回值,所以當要用該語句來計算並返回結果時,就不可避免的使用變數
例子:計算1-10的和

var num = 0;
var x = 0;
while(x<=10){
    num += x;
    x += 1;
}

函數語言程式設計的重要思想就是儘量不要產生額外的影響,上面的程式碼就不符合函數語言程式設計的思想
例子:遞迴實現1-10的和

def mx(num:Int,sum:Int):Int = {
    if(num<=10) return mx(num+1,sum + num);
    else return sum;
}