govet に using variable before checking for errorsと怒られたときの対応方法.
なにを指摘されているのか?
例
defer variable.Close()
とあったき Close() メソッドがエラーを返す可能性がある場合にエラーチェックしろと言われている.
対応方法
defer の中に無名関数でチェックを入れる
defer func() {
err = variable.Close() // ちなみにエラーチェックの条件分岐は一行で書ける
if err != nil {
log.Fatal(err) // この例ではFatalで落としているが適切な処理を
}
}()