在使用 GORM 进行查询时,如果 mirrors 变量没有被初始化,就会出现空指针错误。这是因为 Find 方法需要一个有效的指针来接收查询结果。

为了解决这个问题,需要在使用 mirrors 变量之前,使用 make 函数初始化切片。

以下是修改后的代码:

mirrors := make([]model.Mirror, 0)
tx := srv.db.Table('mirror').Where('1=1').Find(&mirrors)
if tx.Error != nil {
    logger.Error(tx.Error.Error())
    return nil, tx.Error
}

通过使用 make 函数初始化切片,我们可以确保 mirrors 变量指向一个有效的内存地址,从而避免空指针错误。

总结

在使用 GORM 进行查询时,需要确保目标变量被正确地初始化,以避免空指针错误。

GORM 中 mirrors 空指针错误的解决方法

原文地址: https://www.cveoy.top/t/topic/fKMw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录