怎么做律所的官方网站,西安网站推广慧创,python培训课程,天津seo外包问题描述
在后端我们经常会在 entity 和 view 之间进行复制转换为可以发送给前端的数据
比如 time 对象在下送的时候#xff0c;我们希望能显示经过格式化过的目标字符串格式#xff0c;这里我们可以使用自定义的 converter#xff0c;主要是定义 src 和 dst 类型#xf…问题描述
在后端我们经常会在 entity 和 view 之间进行复制转换为可以发送给前端的数据
比如 time 对象在下送的时候我们希望能显示经过格式化过的目标字符串格式这里我们可以使用自定义的 converter主要是定义 src 和 dst 类型以及实现转换方法。
然后在复制的时候带上自定义 converter 即可极大的提高了转换复制的效率。
func main() {var (user User{Name: Jinzhu, Age: 18, Role: Admin, Salary: 200000, CreateAt: time.Now()}//users []User{{Name: Jinzhu, Age: 18, Role: Admin, Salary: 100000}, {Name: jinzhu 2, Age: 30, Role: Dev, Salary: 60000}}employee Employee{Salary: 150000}//employees []Employee{})converter : copier.TypeConverter{SrcType: time.Time{},DstType: copier.String,Fn: func(src interface{}) (dst interface{}, err error) {srcTime, ok : src.(time.Time)fmt.Println(srcTime)if !ok {return , nil}return srcTime.Format(time.RFC3339), nil}}copier.CopyWithOption(employee, user, copier.Option{Converters: []copier.TypeConverter{converter}},)fmt.Printf(%#v \n, employee)}