Si verifica el código con go vet, o cuando compila el código, muestra un error de dependencia circular, se ve así:
package code/app/user/service
imports code/app/system/service
imports code/app/user/service: import cycle not allowed
Si no tiene un informe de error similar, solo obtiene un nombre de paquete y code/app/user/service
puede usar el comando para que muestre el informe de error anterior.
go list code/app/user/service
Después de recibir un error, debe buscar code/app/user/service
la línea de código que importa este paquete en el código.Lo más importante es el ámbito de búsqueda, que es el directorio del code/app/system/service
paquete, es decir service
.
Buscará la línea de código que importa el paquete y luego buscará dónde se usa el paquete en el archivo, modificará la implementación del código y ya no importará este paquete, y el problema se resolverá.
posdata
Después de encontrarme con este problema, consulté muchos artículos y todos recomendaban algunas herramientas de visualización para mostrar las dependencias de los paquetes. Creo que no es tan conveniente como las herramientas que vienen con Go.