【发布时间】:2014-12-31 09:08:36
【问题描述】:
简化问题:
程序员跟踪变量的地址是否可行,以便变量的地址可以用作该变量的数据点?
原问题:
我试图围绕如何使用 Go 中的指针通过地址存储和引用变量。
作为一般原则,直接分配变量的地址是否有用?我可以想象这样一种情况,数据可以编码在变量的物理(虚拟)地址中,而不一定是该变量的值。
例如,第 1000 位客户购买了 500 美元。我可以在位置 1000 存储一个值为 500 的整数吗?
我知道做这种事情的常用方法是使用数组,其中位置 999 的变量对应于第 1000 个客户,但我的问题不是关于数组,而是关于直接分配地址。
假设我正在处理数十亿个对象。有没有一种简单的方法可以将地址用作对象数据的一部分,并将存储在该位置的值作为不同的数据?
例如,地址 135851851904 的 int 的值是 46876,135851851905 的值是 123498761,等等。我想此时数组或切片会太大而无法高效。
顺便说一句,如果我的问题是由于误解引起的,是否有人可以提供资源来深入解释该主题,但可以理解的细节?我一直找不到能真正解释细节的关于该主题的好资源。
【问题讨论】:
-
这个问题太笼统了。对于这种格式,好的答案太长了。请添加详细信息以缩小答案范围或隔离可以在几段中回答的问题。
-
@peterSO 你能推荐一个我可以更详细地探讨这个话题的来源吗?
-
What topics can I ask about here?:要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是题外话,因为它们往往会吸引固执己见的答案和垃圾邮件.相反,请描述问题以及迄今为止为解决该问题所做的工作。
-
@peterSO 很公平。我想我现在知道 SO 代表什么了,哈哈。
标签: pointers go memory-address