按照Go导览第28页和第53页它们显示了一个变量,该变量是指向结构文字的指针。为什么这不是默认行为?我不熟悉C,因此很难将其包裹住。我唯一看到的是使用指针可能不是更有益的时候是结构文字是唯一的,并且不会在其余程序中使用,因此您希望尽快对其进行垃圾回收。我什至不确定像Go这样的现代语言是否也可以那样工作。我的问题是这个。何时应将指向结构文字的指针分配给变量,何时应分配结构文字本身?
2 回答
喵喔喔
TA贡献1735条经验 获得超5个赞
在大多数情况下,您想要指针可能是正确的,但我个人认为需要显式刷新指针。这样可以使int和之间没有区别MyStruct。它们的行为方式相同。
如果将此与C#(一种实现您所建议的语言)进行比较,我会感到困惑,因为它的语义是:
static void SomeFunction(Point p)
{
p.x = 1;
}
static void Main()
{
Point p = new Point();
SomeFunction(p);
// what is p.x?
}
取决于是否Point将其定义为class或struct。
- 2 回答
- 0 关注
- 203 浏览
添加回答
举报
0/150
提交
取消