1

这是我正在查看的一个片段:

var t txn
t.c = c
err := c.read(&t.req)

为什么你必须写 &t 而不仅仅是 t.req?

4

1 回答 1

6

您不必总是使用 & 符号。在您的示例中,它取决于 c.read 的签名,它要求一个指针(*在类型之前,例如*MyStruct)。&返回一个值的地址,给你一个指向它的指针,所以&t.req满足读取的签名。

如需进一步阅读,请参阅关于指针的常见问题解答和关于地址运算符的规范。

于 2013-03-19T18:40:58.547 回答