第二个=>
在以下函数文字中的含义是什么?
val result: () => Int = () => throw new RuntimeException
result: () => Int = <function0>
答案 0 :(得分:7)
在类型声明val result: () => Int
中,它只是一种声明函数类型的简单方法:
() => Int
与Function0[Int]
这里() => throw new RuntimeException
它是一个函数声明,=>
将参数与body分开。因此,它声明了一个没有参数和正文throw new RuntimeException
的匿名函数。它相当于:
def f() = throw new RuntimeException
答案 1 :(得分:1)
首先=>
表示val
的类型为function
,不应用任何参数并返回Int
。
第二个=>
是参数列表()
和函数体throw new RuntimeException