一尘不染

关于如何避免Go中的导入周期的任何好的建议?

go

我在Go项目上工作了一个月。好消息是Go确实非常高效。但是经过一个月的开发,我已经有数千行代码和许多行packages。对于我来说,要避免导入周期是一个主要问题,每当出现导入周期错误时,我都不知道第一次出现问题的位置。

Go编译器也只有非常简单的通知,即始终不足以快速定位问题,例如:main.go:7:3: import cycle not allowed。它只会帮助您知道哪个文件可能会导致问题,但仅此而已。由于import随着代码的增长关系会越来越复杂,所以我很想知道如何在Go中更有效地避免导入周期。任何帮助深表感谢。


阅读 211

收藏
2020-07-02

共1个答案

一尘不染

go list -f '{{join .Deps "\n"}}' <import-path>

<import-path>如果<import-path>为空,则将在-或当前目录中显示软件包的导入依赖关系。或者

go list -f '{{join .DepsErrors "\n"}}' <import-path>

希望能显示一些有用的信息。另请参阅输出

go help list

有关转到列表工具的其他信息。

2020-07-02