• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Go struct类型的map结构体成员不能修改的问题

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

原问地址

https://studygolang.com/articles/31024

修改方法说明

方法1

package test1

import (
    "fmt"
    "testing"
)

type Person struct{
    Name string
    Age int
    Gender string
}

func TestMap1(t *testing.T){

    m1 := map[uint]Person{
        1: {"whw", 12, "male"},
        2: {"naruto", 22, "male"},
    }

    fmt.Println("m1: ", m1)
    // TODO 传入一个临时结构体 修改map中的结构体然后再赋值即可
    tempObj := m1[1]
    tempObj.Name = "www"
    tempObj.Age = 21
    tempObj.Gender = "MALE"
    m1[1] = tempObj

    fmt.Println("m1: ", m1)
}

方法2

package test1

import (
    "fmt"
    "testing"
)

type Person struct{
    Name string
    Age int
    Gender string
}

func TestMap2(t *testing.T){
    // 定义阶段使用结构体指针
    m2 := map[uint]*Person{
        3: {"sasuke", 22, "male"},
        4: {"sakurua", 21, "female"},
    }

    fmt.Println("m2: ", m2)
    fmt.Println("name: ", m2[3].Name)

    
    m2[3].Name = "SASUKE"
    m2[3].Age = 25
    m2[3].Gender = "MALE"

    fmt.Println("m2: ", m2)
    fmt.Println("name: ", m2[3].Name)

}

~~~

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
go语言内存管理(4)-垃圾回收发布时间:2022-07-10
下一篇:
Go字符串连接+=与strings.Join性能对比发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap