golang 结构体带*号和不带的区别
先说结论
- 就是指针引用和非指针引用
- 调用没啥区别的
- golang 会做自动转换 将指针转为非指针调用
代码演示
package main import "fmt" type T struct { Name string } func (p *T) SetName(name string) { p.Name = name fmt.Printf("SetName t *T 的地址:%p\n", &p) } func (p T) GetName() string { fmt.Printf("GetName t T 的地址:%p\n", &p) return p.Name } func main() { t := T{Name: "111"} t.SetName("222") fmt.Println("t 的 Name:", t.GetName()) (&t).SetName("2222") fmt.Println("t 的 Name:", (&t).GetName()) } ####结果 
本文来自博客园,作者:vx_guanchaoguo0,转载请注明原文链接:https://www.cnblogs.com/guanchaoguo/p/17704032.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战