Go မှာ exception ပုံစံမဟုတ်ဘဲ error value ကို return ပြန်ပြီး caller ကစစ်ဆေးတာက ပုံမှန်ရေးနည်းပါ။ ဒီပုံစံက error ကိုဖုံးကွယ်မထားဘဲ code flow ထဲမှာရှင်းရှင်းလင်းလင်းမြင်စေပါတယ်။
go
package main
import (
"errors"
"fmt"
)
func divide(a int, b int) (int, error) {
if b == 0 {
return 0, errors.New("cannot divide by zero")
}
return a / b, nil
}
func main() {
result, err := divide(10, 0)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println("Result:", result)
}divide function က result နဲ့ error ကိုပြန်ပေးပါတယ်။ Error မရှိရင် nil ပြန်ပေးပြီး error ရှိရင် message ပါတဲ့ error value ပြန်ပေးပါတယ်။
You should see
Error: cannot divide by zeroInfo
if err != nil ကိုတွေ့တာများလို့ စစချင်းထပ်တလဲလဲဖြစ်သလိုထင်နိုင်ပေမဲ့ Go code readability အတွက် အရေးကြီးတဲ့ style ပါ။