Pattern phổ biến nhất: trả (result, error).
- Nếu không cần 1 giá trị, dùng
_(blank identifier). - Khác biệt lớn với JS/TS: Go không dùng try/catch mà handle error ngay tại chỗ.
go
// Pattern (result, error)
val, err := strconv.Atoi("123")
if err != nil {
log.Fatal(err)
}
// Bỏ qua giá trị không cần dùng blank identifier
_, err := doSomething()
// Trả nhiều giá trị tùy ý
func minMax(nums []int) (min, max int) { ... }
min, max := minMax([]int{3, 1, 4, 1, 5})