角色有很多帐户,帐户有很多角色.
如何模拟避免导入周期?
在我的$ GOROOT里面
sandbox/
??? hello-world.go
??? orm
? ??? main
? ? ??? main.go
? ??? model
? ??? account
? ? ??? account.go
? ??? role
? ??? role.go
Run Code Online (Sandbox Code Playgroud)
猫沙箱/ orm/main/main.go
package main
import (
"sandbox/orm/model/account"
)
func main() {
a := account.Account
}
Run Code Online (Sandbox Code Playgroud)
猫沙箱/ orm/model/account/account.go
package account
import (
"sandbox/orm/model/role"
)
type Account struct {
id int
roles []role.Role
}
Run Code Online (Sandbox Code Playgroud)
猫沙箱/ orm/model/role/role.go
package role
import (
"sandbox/orm/model/account"
)
type Account struct {
id int
roles []role.Role
}
Run Code Online (Sandbox Code Playgroud)
“ golang 中的循环依赖和接口”中解决了这个问题,特别是:
\n\n\n\n\n将 API 中需要导入的对象类型替换为基本类型和接口。
\n
或者将它们放在同一个包中。
\n\n我在“ \xe2\x80\x9cMutual\xe2\x80\x9d package import in Golang ”中展示了一个示例。
\n