func deepCopyJSON(src map[string]interface{}, dest map[string]interface{}) error { if src == nil { return errors.New("src is nil. You cannot read from a nil map") } if dest == nil { return errors.New("dest is nil. You cannot insert to a nil map") } jsonStr, err := json.Marshal(src) if err != nil { return err } err = json.Unmarshal(jsonStr, &dest) if err != nil { return err } return nil }
------------------------
How to copy a map to another map?
To copy a map content need to execute a for loop and fetch the index value 1 by 1 with element and assign it to another map. Below is a short example.
package
main
import
(
"fmt"
)
func
main() {
map1 :=
map
[string]int{
"x"
:
1
,
"y"
:
2
,
}
map2 :=
map
[string]int{}
/* Copy Content from Map1 to Map2*/
for
index,element :=
range
map1{
map2[index] = element
}
for
index,element :=
range
map2{
fmt.Println(index,
"=>"
,element)
}
}
|
C:\golang\codes>go run example.go
x => 1
y => 2
C:\golang\codes>
x => 1
y => 2
C:\golang\codes>