为什么":"在时髦语句的最后一个不会抛出任何错误?



我在groovy控制台中错误地写了以下内容,但后来我意识到它应该抛出错误,但它没有。groovy在语句的最后没有为冒号抛出任何错误的原因是什么?是分配给文件还是类似的东西?

a:
String a
println a

当我尝试在中执行此代码时,这没有引发错误https://groovyconsole.appspot.com/

这是一个标签,就像在Java中一样。例如:

a:
for (int i = 0; i < 10; i++)
{
String a = "hello"
println a
​    break a; // This refers to the label before the loop
}​

我能想到的Groovy中标签的一个很好的用法是Spock Framework,它们用于子句:

def 'test emailToNamespace'() {
given:
Partner.metaClass.'static'.countByNamespaceLike = { count }
expect:
Partner.emailToNamespace( email ) == res
where:
email                                      |  res                       | count
'aaa.com'                                  |  'com.aaa'                 | 0
'aaa.com'                                  |  'com.aaa1'                | 1
}

相关内容

最新更新