Я уже много раз играю, и мне это нравится, но, похоже, он несколько отличается от других языков. Поэтому я пишу веб-приложение, которое использует MongoDb с пакетом mgo. Мне интересно, что лучше всего подходит для открытия сеанса базы данных для использования в других пакетах (мои модели).Есть ли стандартный способ держать сеанс базы данных открытым через пакеты в Голанге?
Не стесняйтесь исправлять меня по любым неправильным идеалам, которые у меня могут быть, я только начал использовать GO.
Вот что я имею в виду:
package main
import(
ds "api-v2/datastore"
)
type Log struct {
Name string
}
func main() {
sesh := ds.Sesh
err = &sesh.Insert(&Log{"Ale"})
}
И в моем датастора пакете:
package datastore
import(
"gopkg.in/mgo.v2"
)
var Sesh = newSession()
func newSession() **mgo.Session {
session, err := mgo.Dial("localhost")
if err != nil {
panic(err)
}
return &session
}
Спасибо!
Посмотрите, полезен ли этот ответ. [Ссылка] (http://stackoverflow.com/a/26576589/2285935) –
Вы создаете пакет, который запускает сеанс как локальную переменную. Затем создайте функцию, которая получит эту переменную, а затем закроет ее, когда вы закончите. Я предоставлю некоторый код, когда попаду на рабочий стол – CESCO