golang struct 优化

type(
Salestruct{
BaseModel
WareroomIDint`json:"wareroom_id"`
ProductIDint`json:"product_id"`
Quantityint`json:"quantity"`
}
SaleLinkstruct{
BaseModel
WareroomIDint`json:"wareroom_id"`
ProductIDint`json:"product_id"`
Quantityint`json:"quantity"`
ProductProduct`json:"product"`
WareroomWareroom`json:"wareroom"`
}
)
有时候在返回接口的时候,有时候不希望返回关联表Product和Wareroom,有时候又需要,所以定义了2个struct,感觉这样写好啰嗦,想请大佬指导一下,该如何只优化这个struct,其他代码不用动呢?
求大佬指导一下????
幕布斯7119047
浏览 506回答 2
2回答

qq_遁去的一_1

embed,这很gotype(Salestruct{BaseModelWareroomIDint`json:"wareroom_id"`ProductIDint`json:"product_id"`Quantityint`json:"quantity"`}SaleLinkstruct{SaleProductProduct`json:"product"`WareroomWareroom`json:"wareroom"`})序列化函数,最符合func的初衷func(sl*SaleLink)LinkJson[]byte{return把字段都加上,然后`Marshal`}func(sl*SaleLink)Json[]byte{return部分字段,然后`Marshal`}表现类,这很设计模式//通过sale构建下面这两个类,分别展现`json`typeLinkSaleVOstruct{}typeSaleVOstruct{}

忽然笑

typeSaleLinkstruct{BaseModelWareroomIDint`json:"wareroom_id"`ProductIDint`json:"product_id"`Quantityint`json:"quantity"`ProductProduct`json:"product,omitempty"`WareroomWareroom`json:"wareroom,omitempty"`}加上omitempty,如果你不给struct赋上这两个值,json序列化的时候,就不会有这两个字段
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript