学校排行榜

(0)

投一票

Go语言选择receiver参数类型 官网

在Go语言里,receiver参数类型有值类型和指针类型。值类型的receiver是对象副本,指针类型则是对象地址。 // 值类型 receiverpackage mainimport "fmt"type Person struct { Name string}func (p Person) SayHello() { fmt.Println("Hello, my name is ", p.Name)} // 运行结果:Hello, my name is [姓名]func main() { p := Person{Name: "John"} p.SayHello()} 若用指针类型,代码如下: // 指针类型 receiverpackage mainimport "fmt"type Person struct { Name string}func (p *Person) SayHello() { fmt.Println("Hello, my name is ", p.Name)} // 运行结果:Hello, my name is [姓名]func main() { p := &Person{Name: "John"} p.SayHello()} 选择时要考虑是否需修改对象状态,若要修改就选指针类型。
专业
评论
新闻
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。