我在Go项目上工作了一个月。好消息是Go确实非常高效。但是经过一个月的开发,我已经有数千行代码和许多行packages。对于我来说,要避免导入周期是一个主要问题,每当出现导入周期错误时,我都不知道第一次出现问题的位置。
packages
Go编译器也只有非常简单的通知,即始终不足以快速定位问题,例如:main.go:7:3: import cycle not allowed。它只会帮助您知道哪个文件可能会导致问题,但仅此而已。由于import随着代码的增长关系会越来越复杂,所以我很想知道如何在Go中更有效地避免导入周期。任何帮助深表感谢。
main.go:7:3: import cycle not allowed
import
go list -f '{{join .Deps "\n"}}' <import-path>
<import-path>如果<import-path>为空,则将在-或当前目录中显示软件包的导入依赖关系。或者
<import-path>
go list -f '{{join .DepsErrors "\n"}}' <import-path>
希望能显示一些有用的信息。另请参阅输出
go help list
有关转到列表工具的其他信息。