For example, we have an object called "person", it has age property. Initially
when created, the person has initialised the age to 0, then we use method to
change it to 18. See code below:
package main
import (
"fmt"
)
type Person struct {
Name string
Age int
}
func main() {
person := Person{Name : "Leo"}
fmt.Println(person)
person.SetAge(18)
fmt.Println(person)
}
func (p *Person) SetAge(age int) {
p.Age = age
}
The output of the result is:
{Leo 0}
{Leo 18}
However if the receiver is passed by value like below:
func (p Person) SetAge(age int) {
p.Age = age
}
Then the age property will not be updated. However if the receiver is passed by value like below:
{Leo 0}
{Leo 0}
No comments:
Post a Comment