我看到一些scala代码将“_”赋给了一个类的字段,这是什么意思?感谢
private var tk: TaggedKey = _
答案 0 :(得分:20)
表示:指定默认值。默认值定义为null
,0
或false
,具体取决于目标类型。
The Scala Language Specification的 4.2变量声明和定义中对此进行了描述:
变量定义
var x : T = _
只能作为模板的成员出现。它 引入了一个带有类型T和默认初始值的可变字段。默认值 取决于类型T如下:
0
- 如果T
是Int或其子范围类型之一,
0L
- 如果T
为长,
0.0f
- 如果T
是Float,
0.0d
- 如果T
为双倍,
false
- 如果T
是布尔值,
()
- 如果T
是单位,
null
- 适用于所有其他类型T
。