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

例如:


type Foo struct {

        x int

}

var foo *Foo = &Foo{5}


type Bar *struct {

        x int

}

var bar Bar = ??

我该如何初始化bar?


我意识到有一个解决方法:


type Bar *Foo

var bar Bar = &Foo{5}

但我想避免这种情况。


江户川乱折腾
浏览 183回答 1
1回答

智慧大石

没有理由使用 form type Bar *struct。该类型是指向匿名结构的指针,因此您必须使用匿名结构(或者如您所指出的,等效的可转换结构类型)对其进行初始化。var b Bar = &struct{x int}{}// orb := Bar(&Foo{})声明本质上是一样的type Bar *Foo这可能会让你更清楚你想要做什么。但同样,这是不惯用的,在团队设置或公共界面中使用它可能会遇到阻力(即我个人不会通过这是代码审查)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go