メソッドの receiver は操作対象の値で、メソッド名の前に宣言されます。value receiver(コピーで操作)または pointer receiver(オリジナルで操作し、変更可能)です。正しく選択することは、正確性(ミューテーション)とパフォーマンスの両方の観点から重要です。
Value receiver — コピーで操作
Counter { count }
Increment() {
c.count++
}
c := Counter{}
c.Increment()
fmt.Println(c.count)
