如果我写
test = {
println("Hello world");
}
这会在名为 test 的变量中创建一个闭包,我可以使用test();
调用
然而
test: {
println("Hello world");
}
立即调用闭包,我无法使用test();
第二种语法的目的是什么?
答案 0 :(得分:4)
这看起来像一个普通的旧标签java代码块。不是Groovy闭包语法。这将允许您在块中区分局部变量。如果它是一种替代语法,我会避免它。
public void do(){
test:{
String hello = "hello";
}
anotherTest:{
String hello = "hello";
}
}
答案 1 :(得分:1)