12

我看到一些将“_”分配给类字段的scala代码,这是什么意思?谢谢

private var tk: TaggedKey = _
4

1 回答 1

23

这意味着:分配默认值。默认值定义为null0false取决于目标类型。

它在Scala 语言规范的4.2 变量声明和定义中进行了描述:

变量定义var x : T = _只能作为模板的成员出现。它引入了一个类型为 T 和默认初始值的可变字段。默认值取决于类型 T,如下所示:

0- 如果T是 Int 或其子范围类型之一,

0L- 如果T是长,

0.0f- 如果T是浮点数,

0.0d- 如果T是双倍,

false- 如果T是布尔值,

()- 如果T是单位,

null- 对于所有其他类型T

于 2012-04-06T08:17:16.733 回答