Scala 中 lambda 表达式的类型是什么

What is the type of a lambda expression in Scala

假设我有一个类似于以下的 lambda 表达式: val ex = (x:Int) => x + x 这个 expression/how 是什么类型我知道它的类型吗?我试过使用“Any”作为不起作用的函数参数类型,如果我尝试使用 .getClass.getSimpleName 函数获取它的类型,我会得到一个对象地址。

这个表达式的类型是function接受Int并返回Int,即Int => Int(这是Function1[Int, Int]的语法糖) :

val ex: Int => Int = (x:Int) => x + x

如果您使用带有 Scala 插件的 IntelliJ IDEA,您可以使用 Alt+= shortcut 查看类型信息: