我有一个与此类似的问题:从嵌入式 struct 访问 struct 字段,但不是嵌入式结构,而是只有一个嵌套结构。
基本上,我需要的是从嵌套结构访问外部结构的可能性。但是,在接受的答案中建议的组合方法不适合我当前的“结构结构”,因此如果没有一些繁琐的重构,它实际上并不适用。
相反,我想出了将指向外部结构的指针嵌入到内部结构中的想法:
type Outer struct {
someField int
innerStruct Inner
}
type Inner struct {
outerStruct *Outer
}
func test() {
outer := Outer{someField:123}
inner := Inner{outerStruct:&outer}
outer.innerStruct = inner
println(inner.outerStruct.someField) // just to test
}
所以,现在我想知道,从意识形态上讲,这是否是 Go 的有效方法?这种方法有什么可能的缺点吗?
慕码人2483693
尚方宝剑之说
相关分类