Golang using variable before checking for errorsの対応

By bootjp | 2018年5月31日

govet に using variable before checking for errorsと怒られたときの対応方法.

なにを指摘されているのか?

defer variable.Close()

とあったき Close() メソッドがエラーを返す可能性がある場合にエラーチェックしろと言われている.

対応方法

defer の中に無名関数でチェックを入れる

defer func() {
    err = variable.Close()  // ちなみにエラーチェックの条件分岐は一行で書ける
    if err != nil {
        log.Fatal(err) // この例ではFatalで落としているが適切な処理を
    }
}()

コメントを残す

メールアドレスが公開されることはありません。