Scala递归函数
来源:互联网 发布:字处理软件系统软件 编辑:程序博客网 时间:2024/06/07 20:12
一 递归函数
在函数式编程中实现循环的一种技术。
例子:计算n!
def factorial (n:Int):Int =
if (n<=0) 1
else n * factorial(n-1)
二 尾递归函数
尾递归函数中所有递归形式的调用都出现在函数的末尾。
当编译器检测到一个函数调用时尾递归的时候,它就覆盖当前的活动记录而不是在栈中去创建一个新的。
三 代码
package test_first
object tailrec extendsApp{
@annotation.tailrec
def factorial(n:Int,m:Int):Int=
if(n<=0) m
else factorial(n-1,m*n)
println(factorial(5,1))
}
四 运行结果
120
阅读全文
0 0
- scala递归函数
- Scala递归函数
- Scala 学习笔记(四)------定义递归函数
- Scala中尾递归
- scala之递归
- scala之尾递归
- 【Scala】尾递归优化
- Scala 函数
- Scala 函数
- scala函数
- Scala函数
- scala 函数
- scala函数
- Scala函数
- Scala 函数
- scala函数
- Scala 函数
- Scala函数
- 面试资料汇总
- Scala柯里化
- Scala函数综合
- Scala list高级使用
- sublime编辑器安装插件的方法
- Scala递归函数
- IntelliJ 无法调到类定义
- (转)android定期动态更新启动页
- Scala集合概述
- Scala的map高阶函数应用
- 开发流程的不错思路
- MFC SDI单文档多视图的实现及自由切换(2种实现方式简析)
- Scala reduceLeft与flodLeft
- Elasticsearch 5.x Document Reindex