val a: A = _
将值初始化为什么?这是一个打字的空吗?感谢。
答案 0 :(得分:125)
val a: A = _
是编译错误。例如:
scala> val a: String = _
<console>:1: error: unbound placeholder parameter
val a: String = _
^
工作内容var a: A = _
(注意var
而不是val
)。正如Chuck在他的回答中所说,这会将变量初始化为默认值。来自Scala语言规范:
如果T是Int或其子范围类型之一,则0,
如果T为长,则为0L,
0.0f如果T是Float,
如果T为Double,则为0.0d,
如果T是布尔值,则为假,
()如果T是单位,
对于所有其他类型为T。
答案 1 :(得分:29)
它将a
初始化为类型A
的默认值。例如,Int的默认值为0,引用类型的默认值为null。