当前位置: > > > > gorm 不支持的数据类型接口
来源:stackoverflow
2024-04-29 10:54:31
0浏览
收藏
对于一个Golang开发者来说,牢固扎实的基础是十分重要的,就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《gorm 不支持的数据类型接口》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!
问题内容
gorm 不支持的数据类型接口。
如何将不同的结构保存到 json (gorm) 中的一个字段?需要类型检查,而不仅仅是 json 中的序列化。
有错误的示例代码:不支持的数据类型:models.fields
// table questions (GORM) type Questions struct { ID Fields `json:"fields"` // ..... } type Fields interface{ // ... } // radio ---------- type Radio struct { Text string Img string // ... } func (d Radio) Value() (driver.Value, error) { return json.Marshal(d) } func (d *Radio) Scan(value interface{}) error { b, ok := value.([]byte) if !ok { return errors.New("type assertion to []byte failed") } return json.Unmarshal(b, &d) } // Checkbox ---------- type Checkbox struct { Text string MaxCheckbox uint16 // ... } func (d Checkbox) Value() (driver.Value, error) { return json.Marshal(d) } func (d *Checkbox) Scan(value interface{}) error { b, ok := value.([]byte) if !ok { return errors.New("type assertion to []byte failed") } return json.Unmarshal(b, &d) }
解决方案
您可能已经解决了这个问题,但您需要使用 。
终于介绍完啦!小伙伴们,这篇关于《gorm 不支持的数据类型接口》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~公众号也会发布Golang相关知识,快来关注吧!