O receptor de um método é o valor sobre o qual ele opera, declarado antes do nome do método. Pode ser um receptor de valor (opera em uma cópia) ou um receptor de ponteiro (opera no original, pode modificá-lo). Escolher corretamente importa tanto para correção (mutação) quanto para desempenho.
Receptor de valor — opera em uma CÓPIA
Counter { count }
Increment() {
c.count++
}
c := Counter{}
c.Increment()
fmt.Println(c.count)
