Có nên sử dụng return; trong hàm void không?

Cho mình hỏi có nên sử dụng return ; trong hàm void không vì mình rất hay sài kiểu này ko biết lợi hại thế nào

1 Like

Khong nen vi trong ham void, return co tac dung thoat ra khoi ham. Vd neu dat return lhi vua vuoc vao ham thi se ket thuc ham do mgay

người ta hỏi với ý là sẽ đặt đúng chỗ cần đặt chứ có phải bạ đâu đặt đấy đâu.

1 Like

Cái đó là chức năng của Java hỗ trợ với hàm void (hàm không return về giá trị), khi gọi return sẽ kết thúc hàm tại thời điểm đó. Tôi không nghĩ là lợi hay hại gì, sẽ có lúc mình cần phải xài đến cú pháp này. :sweat_smile:

Ví dụ

public void doSomething(String source){
    if(StringUtils.isBlank(source)){
         return;
    }
    
    //bla bla
   //làm rất nhiều bla bla . ;)
}
1 Like

? no hoi co nen su dung return k thi minh bao la k nen dung ma ? Vi ban chat ham void la rong roi nen chi dung return khi can thiet ma?

Nếu bạn muốn dùng nó cho việc thoát ra khỏi hàm void trong điều kiện nào đó thì hãy dùng:

void function(int par) {
 if (par == ERROR) return; //thoat ra khoi ham va khong xu ly tiep
 else {
  ...
 }
}

Còn nếu không dùng với mục đích trên thì đơn giản là đừng viết thêm return; cho hàm void (vốn không trả về gì hết) để tránh gây thắc mắc cho người kế thừa code của bạn.

Không nên:

void function() {
 ...
 return;
}

Nên:

void function() {
 ...
}
1 Like

đấy… cái này không thể nói là nên hay không nên dùng, mà phải biết khi nào thì dùng.

Day, minh noi khi nao can thiet moi dung
tuc la nen dung khi CAN THIET :blush:

Theo mình lệnh return trong hàm void thì chỉ nên sử dụng khi trong hàm void đó có câu xét điều kiện ( Nếu sai điều kiện thì thoát khỏi hàm void làm việc khác ) thì sử dụng return; còn nếu không thì cũng không cần thiết đặt return; cuối hàm void làm gì cho thừa.

Với mình thì hàm return; đó rất hữu dụng.
Nhưng câu trả lời là: cần thì dùng, không cần thì thôi.

nếu hàm trả về kiểu int hoặc kiểu lớp nào đó thì nếu mình để lệnh { return; } không có giá trị gì hết thì sao nhỉ.

Thì lỗi kiểu not all code paths return a value :slight_smile:

1 Like

Để code dễ nhìn dễ đọc thì theo ý kiến cá nhân thì nên dùng.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?