【发布时间】:2014-01-31 12:22:16
【问题描述】:
Scala 中至少有两种技术可以将默认值传递给方法
1) 默认参数值
scala> def f(i: Int = 0) = i
f: (i: Int)Int
scala> f()
res0: Int = 0
scala> f(1)
res1: Int = 1
2) 隐式参数
scala> def g(implicit i: Int) = i
g: (implicit i: Int)Int
scala> implicit val default = 0
default: Int = 0
scala> g(1)
res5: Int = 1
scala> g
res7: Int = 0
在哪种情况下你会选择一个或另一个? 借助隐式的力量,默认值是一个有用的功能吗?
【问题讨论】: