我正在Go中编写一个使用Logger对象类型的应用程序。
在其中,我使用了另一个使用相同记录器对象类型的应用程序:
应用1:
import "gitlab.sio.com/go/zlog"
var logger = zlog.New(append(opts,
zlog.App(c.Name, typ, version),
zlog.Env(c.Environment),
)...)
....
router.GET("/get", GetHandler(logger))
....
func GetHandler(logger *zlog.Logger){
....
mdl, _ := security.New(*logger)
....
}
App2(安全性。来自安全性库的新增功能):
package security
import "gitlab.sio.com/go/zlog"
Middleware struct {
log zlog.Logger
}
func New(log zlog.Logger){
...
mdw := Middleware{}
mdw.log = log
}
我正在得到的错误
是:
最佳答案
问题是由于在两个不同的 vendor 文件夹中导入相同的库。
如果您尝试仅将应用程序2用作库,则在应用程序2中删除 vendor 文件夹将解决此问题。