您的位置:首页 >Golang结构体指针传递方法详解
发布于2025-11-25 阅读(0)
扫一扫,手机访问
使用结构体指针可避免复制、提升性能并允许修改原值。通过&传地址,函数和方法中用*操作,如updatePerson(&person)和(p *Person) SetName()实现高效操作。

在Go语言中,结构体指针可以高效地传递给函数,避免复制整个结构体数据。直接将结构体的地址传入函数即可,函数内部通过指针访问和修改原始结构体成员。
定义函数时,参数类型设为结构体指针,调用时传入变量的地址。
type Person struct {
Name string
Age int
}
func updatePerson(p *Person) {
p.Name = "Alice"
p.Age = 30
}
func main() {
person := Person{Name: "Bob", Age: 25}
updatePerson(&person)
// person 现在是 {Name: "Alice", Age: 30}
}
使用指针传递结构体有以下几个好处:
当为结构体定义方法时,若需修改实例或提高性能,应使用指针接收者。
func (p *Person) SetName(name string) {
p.Name = name
}
func main() {
person := &Person{Name: "Tom"}
person.SetName("Jerry") // 正确修改原始值
}
基本上就这些。只要理解了指针传递的本质,就能灵活运用在函数和方法中。不复杂但容易忽略细节。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9