为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Go 中初始化指向结构的指针的类型?

如何在 Go 中初始化指向结构的指针的类型?

Go
江户川乱折腾 2021-09-21 22:13:09
例如:type Foo struct {        x int}var foo *Foo = &Foo{5}type Bar *struct {        x int}var bar Bar = ??我该如何初始化bar?我意识到有一个解决方法:type Bar *Foovar bar Bar = &Foo{5}但我想避免这种情况。
查看完整描述

1 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

没有理由使用 form type Bar *struct。该类型是指向匿名结构的指针,因此您必须使用匿名结构(或者如您所指出的,等效的可转换结构类型)对其进行初始化。


var b Bar = &struct{x int}{}

// or

b := Bar(&Foo{})

声明本质上是一样的


type Bar *Foo

这可能会让你更清楚你想要做什么。


但同样,这是不惯用的,在团队设置或公共界面中使用它可能会遇到阻力(即我个人不会通过这是代码审查)


查看完整回答
反对 回复 2021-09-21
  • 1 回答
  • 0 关注
  • 182 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信