首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Go如何保证元素指针对数组和切片有效?

Go如何保证元素指针对数组和切片有效?
EN

Stack Overflow用户
提问于 2018-07-30 01:31:15
回答 1查看 153关注 0票数 -3

当您在数组或切片上使用indexer时,返回的是变量,因此可以获取它的地址。我想知道这是怎么可能的,因为数组/片可能比目标变量嵌套得更多:

// ptr declaration here
{
  // array declaration here
  ptr = &array[0];
}

在数组的情况下,我看到了一个问题,数据是堆栈上的,使用slice,在堆上分配数据并不能自动解决问题,因为GC可能会删除整个slice,除非将元素的地址链接到slice本身(从而阻止释放内存)。

例如:当不能保证指针的有效性时会发生什么--假设我的数组是一个颜色集合。我选择一个元素,取它的地址,整个数组被删除(因为它超出了范围),我检查了元素的值,它是3.14。或者“你好,世界”。或者是green__。因为不能保证它可能是位于给定地址的任何东西。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51582848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档