zoukankan      html  css  js  c++  java
  • go deep copy map

    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:golangcodes>go run example.go
    x => 1
    y => 2

    C:golangcodes>
  • 相关阅读:
    [LeetCode]Linked List Cycle
    ACM 整数划分(四)
    ACM 子串和
    ACM 阶乘之和
    ACM 组合数
    ACM 阶乘的0
    ACM 比大小
    ACM 擅长排列的小明
    ACM 重建二叉树
    cocos2dx 魔塔项目总结(一)
  • 原文地址:https://www.cnblogs.com/oxspirt/p/11279800.html
Copyright © 2011-2022 走看看