我想创建一个在我的应用程序中使用的“一组”gorm 类型。所以我想定义一个map
我的类型gorm.DB
作为键和空structs{}
作为标志:
var (
autoMigrations map[gorm.DB]struct{}
)
但是编译器不允许我这样做时出现错误:invalid map key type gorm.DB
. 我可以使用指向gorm.DB
s 的指针来欺骗它,例如:
map[*gorm.DB]struct{}
但这不是一个解决方案,因为我需要使它独一无二,如果我的地图被填满,就像db.AutoMigrate(&Chat{})
我可以得到许多具有不同地址的类似对象一样。
另一种解决方案是制作一片gorm.DB
:
autoMigrations []gorm.DB
但是我必须手动过滤添加元素,这看起来有点疯狂。