Задать вопрос
VGrabko
@VGrabko
Golang, Php, Js

Как в го реализовать полифоризм?

У меня есть абстрактный пакет nsql. Я хочу сделать драйвера к разным nosql бд. (аля аналог пакета database/sql только для nosql). Как вообще это делать правильно?
  • Вопрос задан
  • 351 просмотр
Подписаться 3 Оценить Комментировать
Решение пользователя Александр Сёмченко К ответам на вопрос (3)
0xcffaedfe
@0xcffaedfe
Developer & Reverser
Зачем если есть?
https://github.com/avelino/awesome-go#database-drivers

func InitDatabase(driver, dbPath string) error {
	var db gorm.DB
	var err error

	switch driver {
	case "sqlite3":
		db, err = gorm.Open("sqlite3", dbPath)
		if err != nil {
			return err
		}
		break
	case "mysql":
		db, err = gorm.Open("mysql", dbPath)
		if err != nil {
			return err
		}
		break
	case "postgres":
		db, err = gorm.Open("postgres", dbPath)
		if err != nil {
			return err
		}
		break
	default:
		return fmt.Errorf("Unknown database driver of %v", driver)
	}
Ответ написан