Rumah > Artikel > pembangunan bahagian belakang > Mari kita bincangkan tentang alat pengesan pergantungan kitaran (go-cyclic) dalam Go
Artikel ini akan memperkenalkan anda kepada pengetahuan yang berkaitan tentang Golang dan bercakap tentang alat pengesan kebergantungan kitaran (go-cyclic) dalam sumber terbuka Go. Saya harap ia akan membantu anda.
alat penyelesaian pergantungan kitaran go-cyclic
Penerangan masalah
Sebagai pembangun Go , kami sering menghadapi masalah pergantungan pekeliling pakej dalam projek besar.
Jika terdapat kebergantungan bulat di Golang, pengecualian akan dilemparkan semasa penyusunan.
Jika terdapat dua pakej: pakej a dan pakej b. Apabila pakej a bergantung pada pakej b, dan pakej b bergantung pada pakej a, kebergantungan bulat akan berlaku. Keadaan sebenar mungkin lebih rumit. Sebagai contoh, jika pakej a bergantung pada pakej b, pakej b bergantung pada pakej c, dan pakej c bergantung pada pakej a, kitaran terbentuk.
import cycle not allowed
Dan jika projek itu besar dan terdapat banyak fail .go di bawah pakej, ia hanya akan menggesa rujukan pekeliling antara pakej (seperti yang ditunjukkan di atas), yang sangat Sukar untuk mencari fail .go dan fail .go yang mempunyai rujukan bulat langsung, menjadikannya sukar untuk menyelesaikan masalah.
Alamat Github: github.com/elza2/go-cyclic (Semua orang dialu-alukan untuk menyerahkan PR)
Permulaan Cepatgo install github.com/elza2/go-cyclic@latest # path 路径要设置为 go.mod 文件所在的路径.go-cyclic gocyclic --dir .path
# success output.Success. Not circular dependence.# failed output.Failed. 1 circular dependence chains were found.┌---→ app.go┆ ↓ ┆ routes.go┆ ↓ └--- handler.go
Atas ialah kandungan terperinci Mari kita bincangkan tentang alat pengesan pergantungan kitaran (go-cyclic) dalam Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!