小编new*_*ing的帖子

如何解决 gorm Create() 出现“无效内存地址或 nil 指针取消引用”的恐慌?

我不知道如何解决这种恐慌,因为我在 Go 方面确实是个新手,尤其是在指针方面,所以请耐心等待。我跟踪了恐慌消息,发现恐慌已经发生了Create()在我的存储库包中的 gorm 中。

这是我的数据库连接

var (
    Instance *gorm.DB
)

func Connect() {
    if err := godotenv.Load(); err != nil {
        panic(err.Error())
    }

    dbUser := os.Getenv("DB_USERNAME")
    dbPass := os.Getenv("DB_PASSWORD")
    dbHost := os.Getenv("DB_HOST")
    dbName := os.Getenv("DB_NAME")

    dsn := fmt.Sprintf("%s:%s@tcp(%s:3303)/%s?charset=utf8mb4&parseTime=True&loc=Local", dbUser, dbPass, dbHost, dbName)
    db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
        Logger: logger.Default.LogMode(logger.Info),
    })

    if err != nil {
        panic("Error connecting database : " + err.Error())
    }

    Instance = db
}

func CloseDB() {
    conn, err := Instance.DB()
    if err != …
Run Code Online (Sandbox Code Playgroud)

go go-gorm go-gin

1
推荐指数
1
解决办法
2145
查看次数

标签 统计

go ×1

go-gin ×1

go-gorm ×1