我看到一些scala代码将"_"分配给一个类的字段,这是什么意思?谢谢
private var tk: TaggedKey = _
Run Code Online (Sandbox Code Playgroud)
Tom*_*icz 20
这意味着:指定默认值.默认值定义为null,0或false取决于目标类型.
它在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.