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

时间:2012-04-06 08:15:25

标签: scala syntax

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

private var tk: TaggedKey = _

1 个答案:

答案 0 :(得分:20)

表示:指定默认值。默认值定义为null0false,具体取决于目标类型。

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