在 Groovy 中,return 语句是可选的,允许您编写如下方法:
def add(a, b) {
a + b
}
...它将结果添加a
并b
返回给调用者。
但是,我想知道当方法有多个返回“语句”时语义是什么。例如,在 Java 中,您可能有:
String append(String a, String b) {
if (a == null) {
return b;
}
return a + b;
}
这可以(假设地)转换为 Groovy,例如:
def append(a, b) {
if (! a) {
b
}
a + b
}
但是,在这种情况下,Groovy 是如何知道语句b
内部if
应该返回的呢?还是没有?我假设 Groovy 不能简单地将结果未使用的任何语句视为 a return
,对吗?在这种情况下,“可选返回”功能的行为方式是否有任何明确定义的语义?