登录
首页 >  Golang >  Go问答

动态获取Gorm字段大小

来源:stackoverflow

时间:2024-03-03 12:45:29 432浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《动态获取Gorm字段大小》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我正在寻找一种从 gorm 模型动态获取字段大小的方法。

一个明显的用例是,当您想要验证对象中保存的数据是否超出 gorm 模型的定义以及数据库列的大小时。

type MyStruct struct {
    field1 string `gorm:"size:10"`
}


func main(){
    s := MyStruct {field1: "abcdefghijklmnopqrstuvwxyz"}  // len 26 > 10 
    
    // if len(s.field1) < ...
    db.Create(&s)  // This will panic
}

有没有办法在运行时获取值 10


解决方案


使用 reflect 包我们可以!

文档:https://golang.org/pkg/reflect/#StructTag

使用给定示例的代码:https://play.golang.org/p/1tmvU2eTkHJ

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>