繁体   English   中英

Groovy闭包语法

[英]Groovy Closure Syntax

如果我写

test = {
  println("Hello world");
}

这将在名为test的变量中创建一个闭包,我可以使用test();进行调用test();

然而

test: {
  println("Hello world");
}

立即调用闭包,而我不能使用test();来调用它test();

第二种语法的目的是什么?

看起来像是一个普通的带有标签的Java代码块。 不是Groovy闭包语法。 这将只允许您在块内确定局部变量的范围。 如果是另一种语法,我会避免使用。

public void do(){
 test:{
   String hello = "hello";
 }

 anotherTest:{
   String hello = "hello";
 }
}

这样做时,您无需定义闭包,而可以标记代码块。

的确,正如该页面所述 ,Groovy支持老式标签。

对。 这对我来说也是一个很大的惊喜。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM