方法
方法的表现和行为和函数非常类似,但是它们之间有一些关键的差别。
方法由def关键字定义。def后面跟着一个名字、参数列表、返回类型和方法体。
def add(x: Int, y: Int): Int = x + y
println(add(1, 2)) // 3
注意返回类型是怎么在函数列表和一个冒号: Int之后声明的。
方法可以接受多个参数列表。
def addThenMultiply(x: Int, y: Int)(multiplier: Int): Int = (x + y) * multiplier
println(addThenMultiply(1, 2)(3)) // 9
或者没有参数列表。
def name: String = System.getProperty("user.name")
println("Hello, " + name + "!")
还有一些其他的区别,但是现在你可以认为方法就是类似于函数的东西。
方法也可以有多行的表达式。
def getSquareString(input: Double): String = {
val square = input * input
square.toString
}
println(getSquareString(2.5)) // 6.25
方法体的最后一个表达式就是方法的返回值。(Scala中也有一个return关键字,但是很少使用)