马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
题目形貌
在后端我们经常会在 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)
- }
复制代码 |