ArsenBespalov
@ArsenBespalov
Сам себе разработчик

Как в Go объявить переменную err при вызове sql.Open, если переменная db глобальная?

Вот как в такой ситуации отслеживать ошибки подключения?
var db *sql.DB

func connectDB() {
    db, _ = sql.Open("mysql", "root@/dbname")
}


Если переменную db заранее не объявлять, то все понятно, а вот как в таком случае поступают?
  • Вопрос задан
  • 252 просмотра
Решения вопроса 1
rkravchik
@rkravchik
System Solutions
var db *sql.DB

func connectDB() {
    var err error
    db, err = sql.Open("mysql", "root@/dbname")
}

и с обработкой:
var db *sql.DB

func connectDB() error {
    var err error
    if db, err = sql.Open("mysql", "root@/dbname"); err != nil {
        return err
    }

или так:
var db *sql.DB

func connectDB() (err error) {
    db, err = sql.Open("mysql", "root@/dbname")
    return
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@huhrmuhr
Она же ссылка. Переприсвоить - не проблема.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы