天天看點

golang: import cycle not allowed

報錯:

import cycle not allowed
           

原因:

循環導包所緻

解決辦法:

分析代碼,找到循環倒入的代碼處,進行修改

舉例:

我有兩個包 cluster 和workload

cluster中有個test1 函數,test1中引入了workload的常量

func test1(type string)  {
	switch a {
	case workload.ClusterTypeDev:
	case workload.ClusterTypeTest:
	case workload.ClusterTypeDepoly:
	}
}
func test2(){
  ....
}
           

workload 中如果引入 cluster中的test2函數就會導緻 循環導包的問題

是以需要進行拆分,比如 可以把常量定義到 cluster中,或者單獨拿出來,就不會出現 import cycle not allowed問題

繼續閱讀