receiver هو القيمة التي تعمل عليها method، وتُعلن قبل اسم الmethod. يمكن أن تكون value receiver (تعمل على نسخة) أو pointer receiver (تعمل على الأصلية، وتستطيع تعديلها). اختيار الطريقة الصحيحة يهم سواء من حيث الصحة (التعديل) أو الأداء.
Value receiver — تعمل على نسخة
Counter { count }
Increment() {
c.count++
}
c := Counter{}
c.Increment()
fmt.Println(c.count)
