我正在尝试为我在 golang 中的所有结构创建一个基础对象。出于某种原因,当我创建的新对象位于不同的包中时,我无法让它工作。当它们在同一个包/文件夹中时它工作正常。例如所有对象的基类package Testtype BaseObject struct { base interface{}}---- 子文件夹 Test\Stuff ---创建一个新的 TestObject,它是 BaseObject 的子类package Stuffimport Test "Test"type TestObject struct{ Test.BaseObject}func (this *TestObject)DoSomething(){ any reference to this.base or this.BaseObject.base fails!!!}--- 在同一个文件夹中,一切正常---package Testtype TestObject struct{ BaseObject}func (this *TestObject)DoSomething(){ any reference to this.base works fine??}
1 回答
吃鸡游戏
TA贡献1829条经验 获得超7个赞
您不能在包外的结构中引用隐藏或“私有”字段。
如果你只是这样做:
type BaseObject struct {
Base interface{}
}
Base 将在其他包的上下文中公开或“公开”,并且一切正常。
- 1 回答
- 0 关注
- 252 浏览
添加回答
举报
0/150
提交
取消