【发布时间】:2020-06-05 17:09:42
【问题描述】:
我有一个结构:
type Person struct {
FirstName string
LastName int
Age int
HairColor string
EyeColor string
Height string
}
我有一个函数,它接受 2 个参数,并将第一个人的字段更新为第二个人的字段:
func updateFields(personA *Person, personB Person) {
personA.FirstName = personB.FirstName
personA.LastName = personB.LastName
// Don't want to change Age.
personA.HairColor = personB.HairColor
personA.EyeColor = personB.EyeColor
personA.Height = personB.Height
}
除了对要更改的值进行硬编码之外,我如何循环遍历字段并将第一个 Person 更新为与第二个 Person 具有相同的值,但“Age”字段除外?
【问题讨论】:
-
你可以做
*personA = personB -
刚刚编辑了问题。我需要除其中一个以外的所有字段都相同
-
personB.Age = personA.Age然后查看第一条评论 ;)。