Go methods that modify data should be defined with pointer receivers

In Golang,

methods that modify data should always be defined with pointer receivers

from here.