将"_"分配给scala中的字段是什么意思?

zjf*_*fdu 8 syntax scala

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

private var tk: TaggedKey = _
Run Code Online (Sandbox Code Playgroud)

Tom*_*icz 20

这意味着:指定默认值.默认值定义为null,0false取决于目标类型.

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

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

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

0L- 如果T是龙,

0.0f- 如果T是Float,

0.0d- 如果T是Double,

false- 如果T是布尔值,

()- 如果T是单位,

null- 适用于所有其他类型T.