Golang-json.Unmarshal
Golang json.Unmarshal
Map
json.Unmarshal 的时候,Map 必须要加上&
首先,映射m1和m2都指向nil。
调用mapFunc会将m1指向的值复制到m,结果m也将指向nil映射。
如果在(1)中已经分配了 map ,则在(2)中,由m1指向的基础 map 数据结构的地址(不是m1的地址)将被复制到m。在这种情况下,m1和m都指向相同的 map 数据结构,因此m1也可以看到通过m修改 map 项。
在mapFunc函数中,将分配新 map 并将其分配给m。无法将其分配给m1。
如果是指针:
调用mapPtrFunc时,m2的地址将被复制到mp中。
在mapPtrFunc中,将分配新 map 并将其分配给mp(不是mp)。由于mp是m2的指针,因此将新映射分配给mp将更改m2指向的值。请注意mp的值不变,即m2的地址。
slice 同理也需要
Last updated
Was this helpful?