我试图理解嵌入Go,这是我试图做的 -
我创建了一个类型A
与导出字段X
和Update
更新A
功能X
与用户提供的输入。
type A struct {
X int
}
func (a A) Update(v int) {
a.X = v
}
我定义了两种类型A1
和A2
,并使它们用不同的值更新X
。我的期望是A1
的更新不会影响A2
的更新。所以我这样做了 -
https://play.golang.org/p/Rjh3hyw_nb0
我得到的是输出中的全部0。
首先 - 期望是正确的吗? A1
和A2
对A.X有不同的引用
其次 - 为什么它打印所有0而不是X的更新值?