解决golang中vendor引起的相同类型,却提示类型不一样问题


本文摘自php中文网,作者藏色散人,侵删。

下面由golang教程栏目给大家介绍解决golang中vendor引起的相同类型,但是却提示类型不一样问题的方法,希望对需要的朋友有所帮助!

问题:

在项目中,使用了自己基于开源项目gin进行二次开发的框架,在注册路由的时候提示了一个错误信息,如下:

1

cannot use func literal (type func(*"github.com/dazhenghu/cms/vendor/github.com/gin-gonic/gin".Context)) as type "github.com/gin-gonic/gin".HandlerFunc in argument to indexInstace.Controller.Get

分析:

从提示中可以看出,虽然都是 func(*Context) 类型(注:HandlerFunc类型就是func(*Context),可自行到gin源码中查看),但是两者的包不同,很明显,前者是我的项目中的vendor下的包,提示这一包路径不一致问题,应该是项目加载的包不同导致

解决:

通过执行添加依赖命令:govendor add github.com/dazhenghu/ginApp/controller,即将自己开发的框架也先加到vendor中管理,再次执行,就不报这个错误了

更多相关技术文章,请访问go语言教程栏目!

以上就是解决golang中vendor引起的相同类型,却提示类型不一样问题的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

golang如何打包在linux上部署

手撸golang 仿spring ioc/aop 之7 扫码2

golang之不可重入函数实现

golang 创建型设计模式 原型模式

go-carbon1.2.0发布了!完善优化对orm的多场景支持

golang依赖注入工具wire指南

【译】使用 go modules

在vscode中使用 gopls

分享golang的一个丑陋实现

sql导入工具自动化

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...