具有多个映射表示法的结构

时间:2017-01-11 12:07:54

标签: 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"`
}

我想将它们合并到一个Driver结构中,如何合并映射表示法(orm:,json :)?

谢谢

1 个答案:

答案 0 :(得分:3)

正如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?