golang编译失败:import cycle not allowed

在开发golang项目的时候,遇到了一个问题,在编译的时候,报错

原因,循环引入包

ginchat/models里面的问题

正常情况下

A包调用了B包,但是B包就不能再去调用A包了,这样就会报错

查看代码

utils调用了models包

而models包中又调用了utils包

解决办法一:

修改一下逻辑,尽量不让循环调用

utils不在去调用models即可

解决方法二:

将需要都用到的逻辑写在C包里面,然后,A包调用C包,B包调用C包,就不会报错了,这边不在详细说明,需要根据自己的具体业务,去调整代码

相关推荐
不会聊天真君6472 小时前
基础语法·中(golang笔记第二期)
开发语言·笔记·golang
zdl6863 小时前
搭建Golang gRPC环境:protoc、protoc-gen-go 和 protoc-gen-go-grpc 工具安装教程
开发语言·后端·golang
FatHonor5 小时前
【golang学习之旅】使用VScode安装配置Go开发环境
vscode·学习·golang
ん贤6 小时前
AI大模型落地系列:一文读懂 Eino 的 Memory 与 Session(持久化对话)
大数据·ai·golang·eino
Anastasiozzzz7 小时前
告别 Class:深入理解 Go 语言的面向对象编程
开发语言·后端·golang
F1FJJ8 小时前
一个 CLI 工具的开源迭代记录:从单二进制到全平台分发
网络·网络协议·docker·golang·开源·开源软件
雨师@8 小时前
多个golang版本如何切换的办法
开发语言·后端·golang
qiumingxun8 小时前
【Go】Go语言基础学习(Go安装配置、基础语法)
服务器·学习·golang
2501_941982059 小时前
Go 语言实现企业微信外部群消息主动推送方案
开发语言·golang·企业微信
无心水10 小时前
【时间利器】5、多语言时间处理实战:Go/C#/Rust/Ruby统一规范
golang·rust·c#·时间·分布式架构·openclaw·openclaw变现