Scala 方法与函数学习笔记
方法和函数的区别
方法和函数都是代码块,但二者有一些区别。方法是类或对象的一部分,它可以访问类或对象的成员变量和方法。函数是一个独立的代码块,可以传递参数和返回值。Scala 中的函数本质上是对象,并且可以像变量一样被传递和操作。
定义方法
在 Scala 中定义方法的语法如下:
scalaCopy Codedef methodName(param1:DataType, param2:DataType):ReturnType = {
// 方法体
}
其中 methodName
是方法名, param1
和 param2
是方法参数, DataType
是参数类型, ReturnType
是返回值类型。方法体是要执行的操作。
例如,我们定义一个计算两个整数之和的方法:
scalaCopy Codedef sum(a:Int, b:Int):Int = {
a + b
}
定义函数
在 Scala 中定义函数的语法如下:
scalaCopy Codeval functionName: (Param1Type, Param2Type, ...) => ReturnType = (param1: Param1Type, param2: Param2Type, ...) => {
// 函数体
}
其中 functionName
是函数名, Param1Type
和 Param2Type
是函数参数类型, ReturnType
是返回值类型。函数体是要执行的操作。
例如,我们定义一个返回两个整数之和的函数:
scalaCopy Codeval add = (a:Int, b:Int) => a+b
调用方法和函数
方法和函数都可以像普通的变量一样调用,例如:
scalaCopy Codeval result1 = sum(2, 3) // 调用方法
val result2 = add(2, 3) // 调用函数
实例
以下是一个使用方法和函数的示例:
scalaCopy Codeobject 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 Codesum(2, 3) = 5
add(2, 3) = 5