在Go语言中,我们可以使用struct类型来定义自己的数据模型,这些模型可以包含多个字段,每个字段都有一个名字和一个类型。同时,在结构体字段后面加上tag标签,用于描述该字段的元数据信息。
下面是一个示例:
type User struct {
ID int64 `json:"id"`
Username string `json:"username"`
Password string `json:"password,omitempty"`
Email string `json:"email,omitempty"`
CreatedAt time.Time `json:"created_at,omitempty"`
}
在这个示例中,User是一个struct类型,它有5个字段:ID、Username、Password、Email和CreatedAt。这些字段都有一个tag标记,其中json:表示这些标记适用于JSON序列化/反序列化操作。例如:
- ID的tag为
json:"id",表示在JSON格式中它将被序列化为”id”键对应的值。 - Password和Email都添加了
omitempty选项(即如果值为空则不进行序列化),因此只有当它们非空时才会被序列化到JSON格式字符串中。
通过使用golang struct定义与tag的技术组合可以使得开发者更加灵活地控制数据模型与它们之间的转换过程,并且能够方便地实现各种业务逻辑需求。




