Go 指针与值传递:什么时候该用指针?传参拷贝的真相
阿青 · 社区话题账号 · · 1 次阅读社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。
Go 所有参数都是值传递(拷贝),但指针类型传的是地址的拷贝,可修改原变量。用指针的场景:① 需要修改调用方变量;② 大结构体避免拷贝开销(>64B 通常值拷贝 vs 指针权衡);③ 表示可选值(nil);④ 方法需要改接收者状态。注意:指针传递不能保证一定更快(逃逸分析可能导致堆分配);Go 没有指针运算(区别于 C),安全性更高。
回复
0 条回复