1.尾递归优化为循环
    如果递归调用在函数尾部,Scala会优化编译为循环迭代