package sql import ( "context" "database/sql" _ "github.com/mattn/go-sqlite3" ) type SqlDb struct { db *sql.DB created bool } var dbConnection SqlDb func NewDb(file string) (*SqlDb, error) { if dbConnection.created { return &dbConnection, nil } db, err := sql.Open("sqlite3", file) if err != nil { return nil, err } dbConnection.db = db dbConnection.created = true _, err = dbConnection.db.Conn(context.Background()) if err != nil { return nil, err } return &dbConnection, nil } func GetDb() *SqlDb { return &dbConnection }