Я пытаюсь вернуть экземпляр из gorm.Open() возвращают его я получаю следующее сообщение об ошибкене может назначить * gorm.DB в ходе Ланга
controllers/db.go:34: cannot assign *gorm.DB to dc.DB (type gorm.DB) in multiple assignment
Это контроллер db.go
package controllers
import (
//"fmt"
_ "github.com/go-sql-driver/mysql"
//v "github.com/spf13/viper"
"github.com/jinzhu/gorm"
)
type DBController struct {
DB gorm.DB
}
func (dc *DBController) InitDB() {
var err error
dc.DB, err = gorm.Open("mysql","root:[email protected](localhost:3306)/api")
if err != nil {
log.Fatalf("Error when connect database, the error is '%v'", err)
}
dc.DB.LogMode(true)
}
func (dc *DBController) GetDB() gorm.DB {
return dc.DB
}
В чем причина этой ошибки и как я могу это исправить?
Тип '* gorm.DB' (указатель на' gorm.DB'), типы возвращаемых и членов, которые вы используете, являются 'gorm.DB' как в методе' GetDB', так и 'DBController' тип. эти типы несовместимы друг с другом. Измените элемент 'DB' на указатель и верните указатель из' GetDB' –