为了账号安全,请及时绑定邮箱和手机立即绑定

在golang中对不同包中的对象进行子类化

在golang中对不同包中的对象进行子类化

Go
慕斯709654 2021-08-16 15:31:20
我正在尝试为我在 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 将在其他包的上下文中公开或“公开”,并且一切正常。


查看完整回答
反对 回复 2021-08-16
  • 1 回答
  • 0 关注
  • 252 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信