Scala 方法与函数学习笔记

方法和函数的区别

方法和函数都是代码块,但二者有一些区别。方法是类或对象的一部分,它可以访问类或对象的成员变量和方法。函数是一个独立的代码块,可以传递参数和返回值。Scala 中的函数本质上是对象,并且可以像变量一样被传递和操作。

定义方法

在 Scala 中定义方法的语法如下:

scalaCopy Code
def methodName(param1:DataType, param2:DataType):ReturnType = { // 方法体 }

其中 methodName 是方法名, param1param2 是方法参数, DataType 是参数类型, ReturnType 是返回值类型。方法体是要执行的操作。

例如,我们定义一个计算两个整数之和的方法:

scalaCopy Code
def sum(a:Int, b:Int):Int = { a + b }

定义函数

在 Scala 中定义函数的语法如下:

scalaCopy Code
val functionName: (Param1Type, Param2Type, ...) => ReturnType = (param1: Param1Type, param2: Param2Type, ...) => { // 函数体 }

其中 functionName 是函数名, Param1TypeParam2Type 是函数参数类型, ReturnType 是返回值类型。函数体是要执行的操作。

例如,我们定义一个返回两个整数之和的函数:

scalaCopy Code
val add = (a:Int, b:Int) => a+b

调用方法和函数

方法和函数都可以像普通的变量一样调用,例如:

scalaCopy Code
val result1 = sum(2, 3) // 调用方法 val result2 = add(2, 3) // 调用函数

实例

以下是一个使用方法和函数的示例:

scalaCopy Code
object MethodAndFunctionExample { // 定义方法 def sum(a:Int, b:Int):Int = { a + b } // 定义函数 val add = (a:Int, b:Int) => a+b def main(args:Array[String]):Unit = { // 调用方法 val result1 = sum(2, 3) println(s"sum(2, 3) = $result1") // 调用函数 val result2 = add(2, 3) println(s"add(2, 3) = $result2") } }

输出结果为:

Copy Code
sum(2, 3) = 5 add(2, 3) = 5