无法从地图分配给结构成员

代码:


type t_struct struct {

    player string

    id     int

}


func main() {

    dataA := make(map[string]t_struct)

    dataB := make(map[string]*t_struct)


    var playerA t_struct

    playerA.player = "tom"

    playerA.id = 1

    dataA["classA"] = playerA

    dataA["classA"].id = 2 // ERROR, why?


    playerB := new(t_struct)

    dataB["classB"] = playerB

    dataB["classB"].player = "rick"

    dataB["classB"].id = 3

}

并得到错误:


无法分配给 dataA["classA"].id


我想知道为什么dataA["classA"].id = 2不工作但dataB["classB"].id = 3做了?如果要修改结构指针的成员值,这是将结构指针保存到映射中的唯一方法吗?


哔哔one
浏览 207回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go