在Scala中,'val a:A = _'(下划线)是什么意思?

val a: A = _初始化值是什么? 这是一个types为空? 谢谢。

val a: A = _是一个编译错误。 例如:

 scala> val a: String = _ <console>:1: error: unbound placeholder parameter val a: String = _ ^ 

什么工作是var a: A = _ (注意var而不是val )。 正如Chuck在他的回答中所说的,这个variables初始化为默认值。 从Scala语言规范:

0如果T是Int或其子范围types之一,
0L如果T是长的,
如果T是Float,
如果T是双重的,
如果T是布尔值,则为false,
()如果T是单位,
对于所有其他types为空的T.

它将a初始化a A的默认值。 例如,Int的默认值为0,引用types的默认值为null。