指针接收者

你可以声明使用指针接收者的方法。

这意味着接收者类型使用字面语法 *T,其中 T 是某个类型。 (另外, T 本身不能是像 *int 这样的指针。)

例如,这里的 Scale 方法定义在 *Vertex 上。

使用指针接收者的方法可以修改接收者所指向的值 (这里的 Scale 就是如此)。 由于方法经常需要修改其接收者,因此指针接收者比值接收者更常见。

试着删除 *,也就是第 16 行 Scale 函数声明中的星号, 然后观察程序的行为如何变化。

使用值接收者时, Scale 方法操作的是原始 Vertex 值的副本。 (这与其他任何函数参数的行为相同。) Scale 方法必须使用指针接收者,才能修改 Vertex 值; 这个值声明在 main 函数中。

< 4/26 >