go - 具有多个映射符号的结构

标签 go struct orm dto

我有这两个代表相同实体的结构(一个来自 Json 文件,另一个来自数据库)

type DriverJson struct {
    ID            int    `json:"id"`
    Name          string `json:"name"`
}

type DriverOrm struct {
    ID            int       `orm:"column(id);auto"`
    Name          string    `orm:"column(name);size(255);null"`
}

我想将它们合并为一个驱动结构,如何合并映射符号(orm:, json:)?

谢谢

最佳答案

reflect.StructTag 的文档中所述,按照惯例,标记字符串的值是空格分隔的 key:"value" 对,因此很简单:

type DriverJson struct {
    ID   int    `json:"id" orm:"column(id);auto"`
    Name string `json:"name" orm:"column(name);size(255);null`
}

有关详细信息,请参阅 What are the use(s) for tags in Go?

关于go - 具有多个映射符号的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41590571/

相关文章:

go - bytes.Buffer 的限制?

go - 如何根据输入创建bson map

go - 将结构转换为* interface {}

c++ - 如何在 C++ 中定义自引用映射?

c - gSOAP - XML 数据到 C 结构(也由 gSOAP 生成)

mysql - 如何使用 Sequelize 和 mySql 选择外键列的名称?

ssl - 去 ListenAndServeTLS 握手

c++ - 如果不在结构中初始化 vector ,它会自动为空还是会具有随机内存位置的值?

java - Hibernate 缓存和数据库一致性

php - Propel:从别名连接表中选择列