三十五、Scala 教程: 递归函数
递归函数 意味着函数可以调用它本身,递归函数在函数式编程的语言中起着重要的作用。 下面我们举个用 递归函数 实现阶乘的范例 object Test { def main(args: Array[String]) { for (i <-...
递归函数 意味着函数可以调用它本身,递归函数在函数式编程的语言中起着重要的作用。 下面我们举个用 递归函数 实现阶乘的范例 object Test { def main(args: Array[String]) { for (i <-...
Scala的解释器在解析函数参数(function arguments)时有两种方式: 传值调用(call-by-value):先计算参数表达式的值,再应用到函数内部; 传名调用(call-by-name):将未计算的参数表达式直接应用到函...
公众号:“皇子谈技术”主理人
元组的值是通过将单个的值包含在圆括号中构成的。 val t = (1, 3.14, "Fred") 上面的代码定义了一个由三个元素组成的元组,对应的类型分别为[Int, Double, java.lang.String]...
Scala 中的 匿名函数 是没有方法名,也不用 def 定义的函数。一般匿名函数都是一个 表达式 因此 匿名函数 非常适合替换那些只用一次且任务简单的常规函数 匿名函数,会使得我们的代码变得更简洁了。 匿名函数的语法很简单,箭头左边是参数...
Scala 偏应用 函数是一种表达式,不需要提供函数需要的所有参数,只需要提供部分,或不提供所需参数。 如下范例,我们打印日志信息: import java.util.Date object Test { def main(args: Ar...
通常情况下 调用函数 传递参数,按照函数定义时的参数顺序一个个传递。 但有时参数太多,我们不能一一指定下去, 或者,有些参数值就是定义时的默认值,写一遍很浪费时间,那么我们就可以通过指定函数参数名来实现。 这种参数传递的方式并且不需要按照顺...
Map(映射) 也叫哈希表(Hash tables)或者散列表,是一种可迭代的键值对(key/value)结构。 哈希表的特征: 1. 所有的值都可以通过键来获取。 2. Map 中的键都是唯一的。 Map有两种类型,可变与不可变,区别在于...
函数嵌套 是指在函数内再定义函数,定义在函数内的函数称之为局部函数。 下面我们用 函数嵌套 方式来实现阶乘 object Test { def main(args: Array[String]) { println( factorial(1...
高阶函数(Higher-Order Function)就是能够使用其他函数作为其参数,也能够返回函数作为返回值的的函数。 scala 中 函数是一等公民,和基本的数据类型一样,可以作为参数来传递。 Scala的特性之一就是支持高阶函数。 我...
定义 函数 时可以给函数参数指定 默认值 使用了默认参数,调用函数可以不需要传递参数,参数处理机制为: 1. 如果没有传递这个参数,这时函数就会调用它的默认参数值 2. 如果传递了参数,则传递值会取代默认值。 object Test { d...