package dbwrapper import "fmt" type Factory func() DbWrapper var drivers = make(map[string]Factory) func Register(name string, factory Factory) { drivers[name] = factory } func New(driverType string) (DbWrapper, error) { factory, ok := drivers[driverType] if !ok { return nil, fmt.Errorf("driver not yet supported: %s", driverType) } return factory(), nil }