scala函数文字中的`=>`

时间:2015-08-12 11:43:57

标签: function scala

第二个=>在以下函数文字中的含义是什么?

val result: () => Int = () => throw new RuntimeException
result: () => Int = <function0>

2 个答案:

答案 0 :(得分:7)

在类型声明val result: () => Int中,它只是一种声明函数类型的简单方法:

() => IntFunction0[Int]

相同

这里() => throw new RuntimeException它是一个函数声明,=>将参数与body分开。因此,它声明了一个没有参数和正文throw new RuntimeException匿名函数。它相当于:

def f() = throw new RuntimeException

答案 1 :(得分:1)

首先=>表示val的类型为function,不应用任何参数并返回Int

第二个=>是参数列表()和函数体throw new RuntimeException

之间的分隔符