fin-check-api/utils/merge.go
2024-08-03 09:53:08 +03:00

20 lines
335 B
Go

package utils
import (
"reflect"
)
func MergeNonZeroFields(src, dest interface{}) {
srcVal := reflect.ValueOf(src).Elem()
destVal := reflect.ValueOf(dest).Elem()
for i := 0; i < srcVal.NumField(); i++ {
srcField := srcVal.Field(i)
destField := destVal.Field(i)
if !srcField.IsZero() {
destField.Set(srcField)
}
}
}