1
如果我写Groovy的闭包语法
test = {
println("Hello world");
}
,负责创建一个名为测试变量封闭,我可以test();
然而
test: {
println("Hello world");
}
调用立即调用关闭和我不能用test();
第二种语法的用途是什么?
如果我写Groovy的闭包语法
test = {
println("Hello world");
}
,负责创建一个名为测试变量封闭,我可以test();
然而
test: {
println("Hello world");
}
调用立即调用关闭和我不能用test();
第二种语法的用途是什么?
这看起来像一个普通的旧标签的Java代码块。不是Groovy闭包语法。这将允许您在块内限定局部变量。如果它是一种替代语法,我会避免它。
public void do(){
test:{
String hello = "hello";
}
anotherTest:{
String hello = "hello";
}
}
它只是一个标签的代码块,而不是另一种定义闭包的方式。当然,OP可能会试图制作一个闭包地图,例如:map = [test:{println'Hi'}]`这是一个非常有效的闭包定义 – 2011-01-12 16:02:44
感谢您的额外洞察。我在发布后几乎删除了我的答案,因为我可能只是扮演'Obvious上尉'而不提供任何帮助。 – 2011-01-12 16:05:00