2012-04-06 82 views
8

我看到一些将“_”分配给类的字段的scala代码,这是什么意思?由于这是什么意思分配“_”到斯卡拉领域?

private var tk: TaggedKey = _ 
+0

http://stackoverflow.com/questions/9581444/first-steps-into-scala/9612735#9612735(我在语言中试用了〜10用法的概述: – 2012-04-07 00:56:56

回答

20

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

它在4.2变量声明描述和定义The Scala Language Specification

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

0 - 如果T为int或者其子范围类型之一,

0L - 如果T长,

0.0f - 如果T是浮动,

0.0d - 如果T是双,

false - 如果T是布尔型,

() - 如果T为单位,

null - 对于所有其他类型T