db, err := sql.Open("sqlite3", dsn)
if err != nil {
return nil, errors.Wrap(err, "cannot open database")
}
// ВАРИАНТ 1:
if err = db.Ping(); err != nil {
return nil, errors.Wrap(err, "cannot ping database")
}
// ВАРИАНТ 2:
if err := db.Ping(); err != nil {
return nil, errors.Wrap(err, "cannot ping database")
}
Какой вариант предпочтительнее?
Я всегда думал что первый, потому что мы переиспользуем переменную, объявленную выше и нам не надо аллоцировать память под новую. Главное чтобы все было в одном потоке.
Но очень часто вижу
второй вариант у всяких людей, которые являются "идолами" в Го сфере.
Есть какие-то ньюансы почему второй вариант лучше?