Добрый день.
Решил "побаловаться" с go на практике. Не пойму почему (1) не возвращает ошибку?! Ошибка отлавливается на (3)
db, err := sql.Open("mysql", wrongConnString) // 1
if err != nil {
fmt.Println(err.Error())
} else {
fmt.Println("db is connected")
}
defer db.Close() // 2
if err = db.Ping(); err != nil { // 3
fmt.Println("db is not connected")
fmt.Println(err.Error())
}
И второе, если 1 переписать так, то go не видит переменную db (в строке 2):
if db, err := sql.Open("mysql", rightConnString); err != nil {
//...
}