Trong Groovy, các return statement is optional, cho phép bạn viết các phương pháp như:Groovy của "tùy chọn trở lại" ngữ nghĩa
def add(a, b) {
a + b
}
... mà thêm a
và b
và trả về kết quả cho người gọi.
Tuy nhiên, tôi tự hỏi ngữ nghĩa là gì khi phương thức có nhiều câu lệnh "trả về". Ví dụ, trong Java bạn có thể có:
String append(String a, String b) {
if (a == null) {
return b;
}
return a + b;
}
Điều này có thể (giả định) được dịch sang Groovy như:
def append(a, b) {
if (! a) {
b
}
a + b
}
Tuy nhiên, trong trường hợp này, như thế nào Groovy biết rằng b
bên trong if
tuyên bố phải được trả lại? Hay không? Tôi cho rằng Groovy không thể xử lý bất kỳ câu lệnh nào mà kết quả của nó không được sử dụng như là một return
, đúng không? Có bất kỳ ngữ nghĩa được xác định rõ ràng nào về cách hoạt động của tính năng "tùy chọn trả về" trong trường hợp này không?
Chỉ cần thông báo, liên kết bạn tham chiếu bị hỏng. – jmreicha
@jmreicha - Cảm ơn, đã sửa. – aroth