三十、Scala 之指定函数参数名

三十、Scala 之指定函数参数名

通常情况下 调用函数 传递参数,按照函数定义时的参数顺序一个个传递。

但有时参数太多,我们不能一一指定下去, 或者,有些参数值就是定义时的默认值,写一遍很浪费时间,那么我们就可以通过指定函数参数名来实现。

这种参数传递的方式并且不需要按照顺序向函数传递参数。

程序员一般都很懒,总是在节省时间

没有默认值的参数是必须传递

1
2
3
4
5
6
7
8
9
10
11
12
13
object Test {
def main(args: Array[String]) {
printInt(b=5, a=7);

println()
printInt(c=18,a=16)
}
def printInt( a:Int, b:Int=21, c:Int=8) = {
println("Value of a : " + a );
println("Value of b : " + b );
println("Value of c : " + c );
}
}

上面代码执行结果为:

1
2
3
4
5
6
7
Value of a : 7
Value of b : 5
Value of c : 8

Value of a : 16
Value of b : 21
Value of c : 18

最佳实战

一般情况下不要打乱参数的传递顺序,没有默认值的参数最好不要通过制定参数名来传递,防止团队协作出问题