如何使用指针方法初始化指针接收器?
package main
import "fmt"
type Person struct {
name string
age int
}
func (p *Person) Born() {
if nil == p {
p = new(Person)
}
}
func main() {
var person *Person
person.Born()
if person == nil {
fmt.Println("This person should be initialized. Why is that not the case?")
}
fmt.Println(person)
}
Run Code Online (Sandbox Code Playgroud)
在调用.Born()方法之后,人们会期望人被初始化(归零),这是一个指针接收器.但事实并非如此.有人可以对此有所了解吗?