Return first là gì
Khi trong hàm gặp một trường hợp đặc biệt (như lỗi, dữ liệu không hợp lệ…), ta trả về kết quả ngay lập tức và kết thúc hàm.
Lợi ích khi dùng Return First trong Go
-
Code gọn, dễ đọc
-
Ít phải thụt dòng.
-
Đọc từ trên xuống dưới như một dòng chảy tự nhiên.
-
-
Luồng chính rõ ràng
-
Trường hợp lỗi hoặc dữ liệu xấu được xử lý ngay.
-
Phần logic chính nằm ngoài cùng, dễ thấy.
-
-
Ít lồng if
-
Tránh viết code thành “kim tự tháp” nhiều tầng.
-
Mỗi trường hợp đặc biệt được tách riêng, dễ hiểu.
-
-
Dễ bảo trì
-
Thêm điều kiện mới chỉ cần thêm một
if return
. -
Không phải sửa nhiều block if-else cũ.
-
-
Theo chuẩn Go
-
Go community quen với
if err != nil { return ... }
. -
Người mới đọc code dễ nắm bắt.
-
-
Giảm lỗi logic
-
Không bị rối khi có nhiều
else
. -
Hạn chế bug do nhầm nhánh xử lý.
-
Ví dụ
Cách viết Return First (idiomatic Go)

Cách viết Không Return First (lồng if)
So sánh hai ví dụ trên
Tiêu chí | Return First | Không Return First |
---|---|---|
Độ dễ đọc | Rõ ràng, tuyến tính | Khó theo dõi, phải đọc cả if + else |
Nesting (thụt dòng) | Ít | Nhiều (càng nhiều điều kiện càng lồng sâu) |
Xử lý lỗi | Trả về ngay | Bị đẩy xuống nhánh else |
Phong cách Go | Idiomatic | Ít dùng, dài dòng |