如何导入“同级”软件包?

时间:2020-03-14 23:16:54

标签: go

假设我项目的文件结构是这样的:

.
├── main.go
└── ui
    ├── controls
    │   ├── control.go
    │   ├── constants.go
    │   ├── container.go
    │   ├── label.go
    └── views
        └── view.go

ui/controls中的所有文件都在名为controls的程序包中,而view.goviews程序包中。我希望views包中的代码能够引用control.go中定义的接口。

我正在使用Go 1.14。我想要的一切可能吗?

1 个答案:

答案 0 :(得分:1)

绝对。您需要像往常一样提供完整的导入路径。

例如如果您的模块是github.com/peterw/myproject(*),则要从controls包中的文件导入views包,请执行以下操作:

import "github.com/peterw/myproject/ui/controls"

(*)这意味着在您的go.mod文件中,模块定义为:

module github.com/peterw/myproject