Golang中的“Mutual”包导入
是否可以在Golang中执行类似“相互”包导入的操作?
让我们说例如我有两个包,A和B,功能AFunc和BFunc,BFunc2 package A import "B" func AFunc() { //do stuff but also use B.BFunc() } – package B import "A" func BFunc() { //do foo } func BFunc2() { //do different stuff but also use A.AFunc() } 有没有办法实现这一点,而不使用第三个包作为“桥梁”? 编辑: 解决方法
interface应该是一个明显的答案:只要两个软件包都提出具有一组通用函数的接口,它就允许:
> packageB使用A中的函数(导入A) 这也在“Cyclic dependencies and interfaces in golang”的评论中说明.
例如,io在其 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |