猿问

何时不使用指针构造变量中的文字

按照Go导览第28第53页

它们显示了一个变量,该变量是指向结构文字的指针。为什么这不是默认行为?我不熟悉C,因此很难将其包裹住。我唯一看到的是使用指针可能不是更有益的时候是结构文字是唯一的,并且不会在其余程序中使用,因此您希望尽快对其进行垃圾回收。我什至不确定像Go这样的现代语言是否也可以那样工作。

我的问题是这个。何时应将指向结构文字的指针分配给变量,何时应分配结构文字本身?


收到一只叮咚
浏览 204回答 2
2回答

喵喔喔

在大多数情况下,您想要指针可能是正确的,但我个人认为需要显式刷新指针。这样可以使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。
随时随地看视频慕课网APP

相关分类

Go
我要回答