errorを確認する
Goでは想定可能な失敗をerrorで返し、呼び出し側ですぐ確認します。
安全な割り算GO
func divide(a, b float64) (float64, error) {
if b == 0 {
return 0, errors.New("0では割れません")
}
return a / b, nil
}
answer, err := divide(10, 0)
if err != nil {
fmt.Println(err)
} else {
fmt.Println(answer)
}実行結果OUTPUT
0では割れませんこの例ではerrorsパッケージのimportが必要です。
ファイルを読み書きする
os.WriteFileとos.ReadFileで小さなファイルを扱えます。処理ごとにエラーを確認します。
保存して読むGO
if err := os.WriteFile("memo.txt", []byte("Goを学習中\n"), 0644); err != nil {
log.Fatal(err)
}
data, err := os.ReadFile("memo.txt")
if err != nil {
log.Fatal(err)
}
fmt.Print(string(data))実行結果OUTPUT
Goを学習中失敗を処理の一部にする
panicは回復不能な状態に限り、通常の入力ミスにはerrorを使います。次は構造体とメソッドへ進みましょう。
