1. 函数的基本形式
函数定义的基本形式def 函数名(参数列表):函数结果类型 = {函数体}
函数结果类型不一定非要给出,在有些情况下可以自动推断,但是部分情况例如递归则必须显示地给出函数的结果类型。
如果函数只有一条语句,也可以不使用花括号。
Scala方法返回的是该方法计算出的最后一个(表达式的)值,推荐的方法风格是避免使用任何显式的return语句。
2. 特殊的函数调用形式
- 可变参数
Scala允许标识出函数的最后一个参数长度可变,可在参数的类型之后加上一个星号*。
在函数内部,这个可变参数的类型是一个Array,但是如果传入一个数组作为参数会报错,可在数组后面加上冒号和一个_*符号,这种表示方式会告诉编译器将arr的每个元素作为参数传给函数。
def sum(a: Int*): Int = {
var s = 0
for (e <- a) {
s += e
}
s
}
val arr = Array(3, 4, 45)
println(sum(1, 78))
println(sum(arr:_*))
- 缺省值参数
参数给定了默认值
def divide(dividend: Int, divisor: Double = 2.0): Double = {
dividend / divisor
}
println(divide(100))