Go

Goのエラーとファイル

失敗をerrorで受け取り、ファイル処理の結果も確認します。

Go入門の講座一覧

01

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が必要です。

02

ファイルを読み書きする

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を学習中
03

失敗を処理の一部にする

panicは回復不能な状態に限り、通常の入力ミスにはerrorを使います。次は構造体とメソッドへ進みましょう。