我要尝试了解的方法
def method1[A](
messageCallback: String => A,
failureCallback: Throwable => Unit = (_: Throwable) => Unit
) = {}
(_: Throwable) => Unit)
是什么意思?
我知道这是默认的函数文字,但我不理解下划线。
答案 0 :(得分:3)
这是函数的默认实现。它是如此简单,其签名看起来几乎与实现本身相同。它的签名是Throwable => Unit
,并用琐碎的正文(_: Throwable) => Unit
实现。它的意思是“在输入时使用Throwable,什么也不返回”。
与将其实现为(a: Throwable) => Unit
相同,但是编译器会抱怨a
未使用。
同一件事的另一种选择是(a: Throwable) => ()
。