簡體   English   中英

golang中的類型不一致,無法使用 <Type> 如 <Type>

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM