zoukankan      html  css  js  c++  java
  • golang map

    type user struct{ name string }

    m := map[int]user{ 1: {"user1"}, }

    1、从map中取回的是一个value临时复制品,对其成员修改是没有任何意义的

    2、当 map 因扩张而重新哈希时,各键值项存储位置都会发生改变。 因此,map 被设计成 not addressable。

    类似 m[1].name = "user2" 这种期望透过原 value 指针修改成员的行为会被禁止。painc: cannot assign to struct field m[1].name in map

    3、修改:

    (1)创建新值

      tmp := m[1]

      tmp.name = "user2"

      m[1] = tmp

    (2) map中value是指针,通过指针修改

      m := map[int]*user{ 1: &user{"user1"}}

      m[1].name = "user2"

  • 相关阅读:
    杭电2060WA
    杭电2060
    UVa10082 没有通过
    百度笔试题目02
    百度笔试题目01
    Q1002 四则运算
    百度笔试题目
    约瑟夫环 详细的分析
    算法导论03
    汉诺塔01
  • 原文地址:https://www.cnblogs.com/YYRise/p/7880348.html
Copyright © 2011-2022 走看看