先说结论
- 就是指针引用和非指针引用
- 调用没啥区别的
- golang 会做自动转换 将指针转为非指针调用
代码演示
package main
import "fmt"
type T struct {
Name string
}
func (p *T) SetName(name string) {
p.Name = name
fmt.Printf("SetName t *T 的地址:%p\n", &p)
}
func (p T) GetName() string {
fmt.Printf("GetName t T 的地址:%p\n", &p)
return p.Name
}
func main() {
t := T{Name: "111"}
t.SetName("222")
fmt.Println("t 的 Name:", t.GetName())
(&t).SetName("2222")
fmt.Println("t 的 Name:", (&t).GetName())
}
####结果
