作为_:type写成的scala符号是什么?

问题描述:

我遵循scala教程。作为_:type写成的scala符号是什么?

在功能上的文字,它具有以下符号:

(_ : *type*) => println("pressed") 

例如,

(_ : Int) => println("pressed") 

在这个符号,我不明白(_:手段。

这是一个带有忽略参数的匿名函数。 在Scala中,约定是在不使用参数时使用下划线。

你可以重写这样完全一样的事情:

(unused: Int) => println("pressed") 

至于为什么会有人想这样做;通常您需要安抚Scala的类型推断。所以如果你只写了

_ => println("pressed") 

然后斯卡拉将无法推断输入参数的类型。输入为

(_: Int) => println("pressed") 

确保由编译器推断的类型为Int => Unit