package main
import (
"fmt"
)
type Person struct {
Name string
}
func (p *Person) SetName1() {
p.Name = "chf1"
}
func (p Person) SetName2() {
p.Name = "chf2"
}
func main() {
p1 := &Person{Name: "test1"}
fmt.Println("name1 : " + p1.Name)
p1.SetName1()
fmt.Println("name2 : " + p1.Name)
p2 := Person{Name: "test2"}
fmt.Println("name3: " + p2.Name)
p2.SetName2() //值拷贝
fmt.Println("name4 : " + p2.Name)
}
Go 方法的receiver和*receiver的区别
最新推荐文章于 2024-05-09 16:10:05 发布