具有多个映射符号的结构

structs with multiple mapping notations

我有这两个代表相同实体的结构(一个来自 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"`
}

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

谢谢

reflect.StructTag 的文档中所述,按照惯例,标记字符串的值是 space 分隔的 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?