Golang中 import cycle not allowed 問題的解決方法
1.問題現(xiàn)象
go編譯的時候報錯import cycle not allowed
cycle
意思很簡單就是循環(huán)的意思。代表的就是一個包被循環(huán)的導(dǎo)入。
2.問題分析
這個錯是在container_cloud/pkg/service
這里出現(xiàn)的,說明這個包被循環(huán)導(dǎo)入。
可是service
這個包文件太多怎么檢查呢?
可以看到這個service
包下面的文件特別多。
3.解決問題思路
雖然文件很多,但是看自己最近修改過的文件很少。
檢查發(fā)現(xiàn)這兩個文件是修改過的
然后看文件的頭部的修改記錄,不知道怎么看修改記錄的可以回滾,只要文件沒有提交就可以看到
4.如何破除依賴
檢查發(fā)現(xiàn)是service
調(diào)用了mapper的數(shù)據(jù)庫方法,然后mapper里面用到service的一個對象
這種做法是特別不規(guī)范的。我們需要做的就是把這個對象拷貝一份,放到其他包里面
放到domain
這個包下,于是依賴解除。
5.問題回顧
剛剛的情況就類似于這種。
如果A必須調(diào)用B中的函數(shù),那么我們就破除B對A的依賴,把對A的那部分提出來就行啦,就像剛剛小編不小心在mapper
當(dāng)中去用
service
的對象。只能service
調(diào)用mapper
的函數(shù)
就像這種就不會有循環(huán)啦。
到此這篇關(guān)于Golang中 import cycle not allowed 問題的解決方法的文章就介紹到這了,更多相關(guān)golang中 import cycle not allowed 解決內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 如何解決django配置settings時遇到Could not import settings ''conf.local''
- Golang報“import cycle not allowed”錯誤的2種解決方法
- 詳解golang避免循環(huán)import問題(“import cycle not allowed”)
- golang中import cycle not allowed解決的一種思路
- golang 之import和package的使用
- go各種import的使用方法講解
- 對Golang import 導(dǎo)入包語法詳解
- Golang import 導(dǎo)入包語法及一些特殊用法詳解
- Golang import本地包和導(dǎo)入問題相關(guān)詳解
- golang import自定義包方式
- 解決golang在import自己的包報錯的問題
- 解決goland 導(dǎo)入項(xiàng)目后import里的包報紅問題
- Go基礎(chǔ)教程系列之import導(dǎo)入包(遠(yuǎn)程包)和變量初始化詳解
相關(guān)文章
Go 自定義package包設(shè)置與導(dǎo)入操作
這篇文章主要介紹了Go 自定義package包設(shè)置與導(dǎo)入操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-05-05Go語言的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)JSON
本文主要介紹了Go語言的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)JSON,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01golang結(jié)構(gòu)化日志log/slog包之slog.Record的用法簡介
這篇文章主要為大家詳細(xì)介紹了golang結(jié)構(gòu)化日志log/slog包中slog.Record結(jié)構(gòu)體的使用方法和需要注意的點(diǎn),文中的示例代碼講解詳細(xì),需要的可以學(xué)習(xí)一下2023-10-10