我正在嘗試為我在 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 關注
- 273 瀏覽
添加回答
舉報
0/150
提交
取消