Gre*_*idt 115 scala initialization
究竟是什么val a: A = _初始化了一个值?这是一个打字的空吗?谢谢.
Pau*_*her 140
val a: A = _是一个编译错误.例如:
scala> val a: String = _
<console>:1: error: unbound placeholder parameter
val a: String = _
^
Run Code Online (Sandbox Code Playgroud)
工作是什么var a: A = _(注意var而不是val).正如Chuck在他的回答中所说,这会将变量初始化为默认值.来自Scala语言规范:
0如果T是Int或其子范围类型之一,
如果T为Long
则为0L,如果T为
Flo ,则为0.0f,如果T为Double则为0.0d,
如果T为布尔值则为假,
()如果T为Unit,
则为(),对于所有其他类型为null T.
Chu*_*uck 32
它初始化a为类型的默认值A.例如,Int的默认值为0,引用类型的默认值为null.