mergo
mergo copied to clipboard
Override value with default fields
type People struct {
Name *string
PhoneNumber *int64
Addr *string
IsTagGroup *bool
}
func TestUpdate(t *testing.T) {
Name := "Jack"
var PhoneNumber int64 = 1
isTagGroup := true
Addr := ""
oldValue := &People{
Name: &Name,
PhoneNumber: &PhoneNumber,
IsTagGroup: &isTagGroup,
Addr: &Addr,
}
newName := ""
var newPhoneNumber int64 = 0
newIsTagGroup := false
newAddr := "where"
updateValue := &People{
Name: &newName,
PhoneNumber: &newPhoneNumber,
IsTagGroup: &newIsTagGroup,
Addr: &newAddr,
}
_ = mergo.Merge(oldValue, updateValue, mergo.WithOverride)
if !cmp.Equal(oldValue, updateValue) {
t.Fatal("Override value with default value fields failed")
}
}
Thanks for opening a new issue. The team has been notified and will review it as soon as possible. For urgent issues and priority support, visit https://xscode.com/imdario/mergo
Overriding pointers requires using mergo.WithoutDereference
option.