Есть такая штука, называется "инициализация". Вы в main пакете инициализируете всё что вам нужно, например:
1. инициализируете доступ к BD
2. инициализируете свои пакеты с бизнес логикой
3. инициализируете другие какие-то пакеты которые вам нужны в main
При этом при инициализации пакета которому нужен доступ к BD, вы просто передаёте ему ссылку на уже открытый дескриптор.
package main
import "mypackage"
// import DB package
var DB *sql.DB
func init() {
DB = sql.Open()
mypackage.DB = DB
}
func main() {
mypackage.myfunction1()
mypackage.myfunction2()
}