go deep copy map

mac2022-06-30  21

 

 

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>

转载于:https://www.cnblogs.com/oxspirt/p/11279800.html

最新回复(0)