Этот коммит содержится в:
Martin Kraft
2022-11-28 11:16:47 -05:00
коммит произвёл GitHub
родитель 860989e2ca
Коммит 98a14c8c55
6 изменённых файлов: 20 добавлений и 17 удалений

Просмотреть файл

@@ -26,15 +26,16 @@ type MergeConfig struct {
// - maps and slices are treated as pointers, and merged as a single value
//
// Note that callers need to cast the returned interface back into the original type:
// func mergeTestStruct(base, patch *testStruct) (*testStruct, error) {
// ret, err := merge(base, patch)
// if err != nil {
// return nil, err
// }
//
// retTS := ret.(testStruct)
// return &retTS, nil
// }
// func mergeTestStruct(base, patch *testStruct) (*testStruct, error) {
// ret, err := merge(base, patch)
// if err != nil {
// return nil, err
// }
//
// retTS := ret.(testStruct)
// return &retTS, nil
// }
func Merge(base any, patch any, mergeConfig *MergeConfig) (any, error) {
if reflect.TypeOf(base) != reflect.TypeOf(patch) {
return nil, fmt.Errorf(