1 简介
copier库能处理不同类型之间的赋值。除此之外,copier还能:
- 调用同名方法为字段赋值
- 以源对象字段为参数调用目标对象的方法,从而为目标对象赋值(当然也可以做其它的任何事情)
- 将切片赋值给切片(可以是不同类型哦)
- 将结构体追加到切片中。
go get github.com/jinzhu/copier
2 快速使用
package mainimport ("fmt""github.com/jinzhu/copier")type User struct {Name stringAge int}type Employee struct {Name stringAge intRole string}func main() {user := User{Name: "dj", Age: 18}employee := Employee{}// 将user对象中的字段赋值到employee的同名字段中。如果目标对象中没有同名的字段,则该字段被忽略。copier.Copy(&employee, &user)fmt.Printf("%#v\n", employee)}
