У меня сейчас глобальная переменная для работы с бд. Но судя по ответам на тостере так делать плохо (а как делать это правильно здесь не отвечали). Я даже представить не могу как это правильно делать (не конектится же в каждой рутине)
Я делаю пакет для работы с бд, там объявляю экспортируемый коннект, прописываю все преднастройки в функциях, запускаю нужные функции с паникой в init пакета, там же последней строчкой присваиваю экспортируемой переменной коннект.
Поиск на гх например даже по "language:go db *sql.DB" -> [We’ve found 41,821 code results] ну да там есть дубликаты но все-же как бы цыферь как-бы намекает все окай юзайте.
Вас должно волновать не то что вы используете глобальную переменную, а то как вы её используете.