This is a created article in which the information may have evolved or changed.
Golang the difference between a pointer receiver and a non-pointer receiver?
The biggest difference is that the pointer passes the reference to the image so that the property value of the image can be dynamically modified when the method is manipulated.
A non-pointer passes a copy of the image.
This should be similar to the use of PHP references.
Package Mainimport ("FMT") type person struct {Name stringage int}func (P *person) SayHi1 () {p.name = "Leon1"}func (P p Erson) SayHi2 () {p.name = "Leon2"}func main () {p1: = &person{name: "Test", age:10}fmt. Println ("name1:" + p1. Name) P1. SayHi1 () fmt. Println ("name2:" + p1. Name) P2: = person{name: "Test1", age:11}fmt. Println ("Name3:" + p2. Name) P2. SayHi2 () fmt. Println ("Name4:" + p2. Name)}
Results:
Name1:testname2:leon1name3:test1name4:test1