关于Gorm的Gen忽略结构体零值问题解决

AI-摘要
Claude - 3.5 Sonnet GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
关于Gorm的Gen忽略结构体零值问题解决
Dev.024问题
最近在使用 Gorm 的新玩意 GEN 时遇到了点问题。比如 GORM 可以很方便的自定义数据库结构体,如果查询的字段为空可以直接使用反射 tag 忽略。
但是 GEN 是预先生成好结构体,导致不能手动修改生成的结构体模型,甚至 Time.time 类型的字段也不能完全为空。
哦对了,使用 select 确实会只返回特定字段。但是其他字段却是为空的,照样还是会被返回。
如果使用 for range 循环拿到指定的字段对性能开销太大了,不够优雅。
过程
期间翻阅了互联网,几乎没有关于 Gorm 的相关资料。文档也翻了翻,写的比较杂,不容易找到解决方案。
ChatGPT4/Google Gemini/Meta Llama 几乎全部阵亡,只能说 GEN 可能太新了。这几个 AI 都没领悟。
解决
最后还是 clade 给了思路。(后发优势就是好)
可以使用 GORM 的 scan 进行处理,GEN 只是封装了 GORM,照样可以用 scan
1 | //预先定义好模型 |
完美解决需求,还得是 AI。啃这个文档不知道得啃多久。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果