推荐理由
在DDD的领域驱动的设计之下,数据流向由DTO到DO再到PO,在Golang语言中,不同类型的转换由独立的函数或者方法来实现。随着对象类型的增加,对象字段的增加以及复杂化,各种类型之间的转换方法无论是数量还是复杂度都会急剧增加。Copier库提供了对象之间的相互转换方法Copy(target,srouce interface{}) error用于解决数据在不同类型结构之间的传递问题。
功能介绍
对象这里指的是数据的聚合:数组,结构体,字典。Copier对对象之间的转换通过reflect提供的方法来完成,实现了从结构体到结构体,结构体到数组的转换方法,其中结构体到数组使用的是覆盖方式。
安装
go get github.com/jinzhu/copier
使用指南