我正在我公司的一个项目中工作,我需要添加一个新接口并将其实现到现有代码中。当我这样做时,我遇到了一个具有挑战性的情况,我遇到了循环依赖问题。
以下是更多详细信息:
项目目录:test-cyclic-dependency
现有代码在 File1 中:test-cyclic-dependency/model/state/model.go
package state
import ("test-cyclic-dependency/model")
type CollectionByCollectionName struct {
CollectionName string
imOfTypeInModel model.STRING
}
我需要在 File2 中定义一个新的接口 Search:test-cyclic-dependency/model/search.go
package model
import (
"test-cyclic-dependency/model/state"
)
type Search interface {
Search(keyword string) state.CollectionByCollectionName
}
type STRING string
此代码导致循环依赖错误,如下所示:
# go build model/state/model.go
package command-line-arguments
imports test-cyclic-dependency/model
imports test-cyclic-dependency/model/state
imports test-cyclic-dependency/model: import cycle not allowed
有人可以帮我解决这个问题吗?有没有办法解决它保持代码组织相同?
MMTTMM
跃然一笑
相关分类