【发布时间】:2012-10-07 04:52:24
【问题描述】:
在 Groovy 中,return statement is optional,允许您编写如下方法:
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 怎么知道应该返回 if 语句中的 b?还是没有?我假设 Groovy 不能简单地将结果未使用的任何语句视为 return,对吗?在这种情况下,“可选返回”功能的行为是否有任何明确定义的语义?
【问题讨论】: