go 实例化的疑问
//取地址实例化是最广泛的一种结构体实例化方式
go 结构体实例化
(1)基本实例化
type Point struct{
X int,
Y int
}
var p Point
p.X=1
p.Y=2
(2)指针类型结构体
ins := new(T)
(3)取结构体地址实例化
ins := &T{}
go 实例化结构体有多种方式,不同方式有什么不一样?
什么情况下该用哪种呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
第1中方式得到的是值对象
第2和3是等价的,都是指针对象
至于应该使用哪种方式要看具体场景
如果需要修改其中的值,就要使用指针接收者;比如
这个本质上是
什么情况下使用指针的问题
每个人出发点都不一样,我一般只有 struct 类型会使用指针,其他类型(基本类型,map,slice)使用值传递