[英]Inconsistent type in golang, cannot use <Type> as <Type>
我正在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
}
我正在得到的錯誤
mdl,_:= security.New(* logger)
是:
不能將* logger(類型為“ gitlab.sio.com/go/furtif/vendor/gitlab.sio.com/go/zlog”.Logger)用作“ gitlab.sio.com/go/security/vendor/gitlab.sio” .com / go / zlog”。安全性參數記錄器。新
問題是由於在兩個不同的供應商文件夾中導入相同的庫。 如果您嘗試僅將應用程序2用作庫,則在應用程序2中刪除供應商文件夾將解決此問題。
您需要修復導入語句,以正確指出導入類型應從其所屬的位置開始。 閱讀錯誤消息。
我發生此錯誤是因為我在同一包中多次聲明了一個類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.