object Test {
def main(args: Array[String]): Unit = {
def addA(x: Int) = x + 100
val add = (x: Int) => x + 200 //匿名函数赋值给变量
println("addA: " + addA(2))
println("add: " + add(2))
def fac(n: Int): Int = if (n <= 0) 1 else n * fac(n-1) //递归调用,必须制定函数返回值类型
println("the result from fac: " + fac(10))
def combine(content: String, left: String = "[", right: String = "]") = left + content + right //参数默认初始化
println("the result from a combine is: " + combine("I love you"))
def connected(args: Int *) = { //可变参数
var result: Int = 0
for (arg <- args) result += arg
result
}
println("The result from a connected is : " + connected(1, 2, 3, 4, 5))
}scala基础5-函数进阶
最新推荐文章于 2025-10-13 12:19:14 发布
本文通过具体的Scala代码示例介绍了几种重要的函数式编程概念,包括定义简单函数、使用匿名函数、实现递归函数、利用参数默认值以及处理可变参数等。这些示例有助于读者理解Scala中函数式编程的基本语法。
1274

被折叠的 条评论
为什么被折叠?



