Pointer dapat digunakan di method jika ingin mengubah nilai dari variabel yang memiliki method tersebut secara permanen.
Contoh code pointer pada method sebuah string
package main
import "fmt"
type str string
func (s *str) Update1() {
*s = "member_02"
}
func (s str) Update2() {
s = "member_03"
}
func main() {
var name str = "member_01"
name.Update1()
name.Update2()
fmt.Println(name)
}
Contoh code pointer pada method sebuah struct
package main
import (
"fmt"
)
type Man struct{
Name string
}
func (m *Man) Test1() {
m.Name = "member_02"
fmt.Println(*m)
}
func (m Man) Test2() {
m.Name = "member_03"
fmt.Println(m)
}
func (m Man) Test3() {
fmt.Println(m)
}
func main() {
member_01 := Man{"member_01"}
fmt.Println(member_01)
member_01.Test1()
member_01.Test2()
member_01.Test3()
fmt.Println(member_01)
}
{member_01}
{member_02}
{member_03}
{member_02}
{member_02}