У меня возник вопрос о более эффективном использовании кода в golang.Головные соединения GoLang в функции
Каков наилучший вариант использования прямого подключения, например, базы данных в нескольких пакетах.
Лучше добавить подключение к базе данных, как
1.
func (database DB) getRows(){
}
или 2.
func getRows(database *DB){
}
или 3.
func getRows(){
init database connection...
}
Для 1 использования нам нужно создать локальную БД-структуру для
type DB struct{
connection
}
в другом пакете, мне нужно переместить DB соединение с созданием местной структуры в каждом пакете или когда некоторый пакет не использовать соединение с базой данных, но импортирован пакет использовать? Как отправить одну конфигурацию и создать только одно соединение? Синглтон - хорошая идея?
Есть ли у вас какие-либо советы и рекомендации для использования этого случая?
см. Также http://stackoverflow.com/questions/40333799/abstracting-away-the-persistence-layer-in-go. Короткий ответ на что-то вроде 2, поэтому вы можете перейти в Tx, а не в БД, но см. Предыдущую ссылку. также рекомендуем http://go-database-sql.org/index.html –