Задать вопрос
ArsenBespalov
@ArsenBespalov
Сам себе разработчик

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

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

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


Если переменную db заранее не объявлять, то все понятно, а вот как в таком случае поступают?
  • Вопрос задан
  • 261 просмотр
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Go-разработчик с нуля
    8 месяцев
    Далее
  • Skillfactory
    Профессия Backend-разработчик на Go
    12 месяцев
    Далее
  • Нетология
    Go-разработчик с нуля
    9 месяцев
    Далее
Решения вопроса 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
Она же ссылка. Переприсвоить - не проблема.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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