Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否习惯将Groovy变量初始化为默认值?_Groovy_Coding Style_Code Standards - Fatal编程技术网

是否习惯将Groovy变量初始化为默认值?

是否习惯将Groovy变量初始化为默认值?,groovy,coding-style,code-standards,Groovy,Coding Style,Code Standards,vs 我查看了不少Groovy编码约定,但没有找到任何建议 更新只是为了强调——我问的是约定,而不是Groovy语言要求。我很清楚,上面的代码片段产生了相同的结果。基于java的groovy 在java中,每种类型都有预定义的默认值: byte,默认值为zero,即(byte)0的值 short,默认值为zero,即(short)0的值 int,默认值为0,即0 long,默认值为zero,即0L float,默认值为正值zero,即0.0f double,默认值为正值0,即0.0d cha

vs

我查看了不少Groovy编码约定,但没有找到任何建议

更新只是为了强调——我问的是约定,而不是Groovy语言要求。我很清楚,上面的代码片段产生了相同的结果。

基于java的groovy

在java中,每种类型都有预定义的默认值:

  • byte
    ,默认值为
    zero
    ,即(byte)0的值
  • short
    ,默认值为
    zero
    ,即(short)0的值
  • int
    ,默认值为
    0
    ,即0
  • long
    ,默认值为
    zero
    ,即0L
  • float
    ,默认值为正值
    zero
    ,即0.0f
  • double
    ,默认值为正值
    0
    ,即0.0d
  • char
    ,默认值为空字符,即
    \u0000
  • boolean
    ,默认值为
    false
  • 对于所有引用类型,默认值为
    null
即使groovy将所有简单类型转换为引用类型,上述规则仍然正确

但是要小心-所有引用类型-
字节
整数
。。。将初始化为
null

def someVar = null
String stringVar = null
int intVar = 0
boolean boolVar = false

取决于您的实际需要。谢谢您的回答。我问的是约定,而不是Groovy语言需求。
def someVar = null
String stringVar = null
int intVar = 0
boolean boolVar = false
byte b
Byte B

assert b==0
assert B==null