Ο receiver μιας μεθόδου είναι η τιμή στην οποία λειτουργεί, δηλωμένη πριν το όνομα της μεθόδου. Μπορεί να είναι value receiver (λειτουργεί σε ένα αντίγραφο) ή pointer receiver (λειτουργεί στο πρωτότυπο, μπορεί να το τροποποιήσει). Η σωστή επιλογή έχει σημασία τόσο για την ορθότητα (mutation) όσο και για την απόδοση.
Value receiver — λειτουργεί σε ένα ΑΝΤΙΓΡΑΦΟ
Counter { count }
Increment() {
c.count++
}
c := Counter{}
c.Increment()
fmt.Println(c.count)
