Семантика Groovy «необязательный возврат»

В Groovy,оператор возврата не является обязательным, что позволяет вам писать методы, такие как:

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 не может просто рассматривать любое утверждение, результат которого не используется, какreturn, правильный? Есть ли четко определенная семантика для того, какнеобязательный возврат особенность ведет себя в этом случае?

Ответы на вопрос(1)

Ваш ответ на вопрос