教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 golang中map地址改变示例

golang中map地址改变示例

发布时间:2022-01-18   编辑:jiaochengji.com
教程集为您提供golang中map地址改变示例等资源,欢迎您收藏本站,我们将为您提供最新的golang中map地址改变示例资源
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"/></svg><pre><code>package main import "fmt" type Test struct { Name string } var list map[string]Test func main() { list = make(map[string]Test) name := Test{"xiaoming"} list["name"] = name list["name"].Name = "Hello" fmt.Println(list["name"]) } </code></pre>

考点:map
编程报错cannot assign to struct field list[“name”].Name in map。
因为list[“name”]不是一个普通的指针值,map的value本身是不可寻址的,因为map中的值会在内存中移动,并且旧的指针地址在map改变时会变得无效。
定义的是var list map[string]Test,注意哦Test不是指针,而且map我们都知道是可以自动扩容的,那么原来的存储name的Test可能在地址A,但是如果map扩容了地址A就不是原来的Test了,所以go就不允许我们写数据。你改为var list map[string]*Test试试看。

到此这篇关于“golang中map地址改变示例”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
golang中map地址改变示例
golang map中结构体元素是无法取地址的
Golang从入门到放弃200618--Map(1)Map的初始化和基本操作
golang 没有名字参数_说说不知道的Golang中参数传递
golang key map 所有_golang系列——高级语法之map
golang中map的一些注意事项
由浅入深聊聊Golang的map
golang 解析struct为map_Golang 的引用类型底层实现
golang key map 所有_Golang基础教程——map篇
Go语言基础教程——map篇

[关闭]
~ ~