当前位置 : 首页 » 互动问答 » 正文

Golang从不同的包中的另一个gloang文件中删除循环依赖性以访问方法

分类 : 互动问答 | 发布时间 : 2018-04-27 15:06:16 | 评论 : 1 | 浏览 : 33 | 喜欢 : 0

我有A.go文件,内容如下:

 func pInfoEx(reqCtx B.RequestContext){
    fmt.Println(reqCtx.p);
}

For this RequestContext 参数在pInfoEx函数中,我必须导入另一个包中的B.go文件。

类型RequestContext interface {
    p()字符串
}

But B.go imports C.go which inturn import A.go创建循环依赖。 我怎么能解决这个循环依赖而不移动文件到同一个包?

我已经通过循环依赖和接口在Golang后,但在这里该方法有一个参数不能改变。

回答(1)

  • 1楼
  • 一种方法是将所有数据类型和接口定义移动到单独的包中,因此所有数据类型和接口定义都将依赖于它,但该包不依赖于其他任何包。这可以是项目的根文件夹中的特殊包schema。甚至是顶级项目本身。

相关阅读: