英文:
Golang exported type
问题
假设我有一个包含在包github.com/user/foo
中的包:
foo/
main.go (包 main)
bar/
bar.go (包 bar)
现在,在bar.go
中,我想使用main.go
中的一个导出类型。
package main
type FooBar struct {}
如果我尝试import "github.com/user/foo"
,我会得到循环导入不允许的错误。有没有其他方法可以做到这一点,而不是为bar
创建自己的存储库,这是我不想要的。
英文:
Suppose I have a package within a package github.com/user/foo
:
foo/
main.go (package main)
bar/
bar.go (package bar)
Now, within bar.go
I would like to use an exported type from main.go
.
package main
type FooBar struct {}
If I try to import "github.com/user/foo"
I get cycled imports not allowed error. Is there any way to do this, other than to create own repo for bar
, which I don't want.
答案1
得分: 6
你可以像这样分开:
foo/
main.go (包 main)
foo/
foo.go (包 foo)
bar/
bar.go (包 bar)
然后在 bar.go 中使用 import "path/foo/foo"
。
英文:
You can separate it like:
foo/
main.go (package main)
foo/
foo.go (package foo)
bar/
bar.go (package bar)
then import "path/foo/foo"
in bar.go
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论