作为一位java程序员,go语言初学者 因为工作原因开始使用go语言,在日常开发中会经常用到下面的情况
type User1 struct {
UserName string
Age int
}
type User2 struct {
UserName string
Pass string
}
var user1 = User1{UserName: "ysh", Age: 21}
var user2 User2
对于两个不同的结构体,如果我想把user1里面与user2相同的字段进行赋值的时候,在没有使用copier的时候会采用下面的方式
user2.UserName=user1.UserName
但是字段一多会非常麻烦,在java中可以使用BeanUtil.copyProperties,后来我在go语言中发现可以使用copier来解决此问题
import (
"github.com/jinzhu/copier"
)
err := copier.Copy(&user2, &user1)
if err != nil {
fmt.Println(err)
}
fmt.Println(user2)
输出结果为{ysh }