J'écris une application dans Go qui utilise un type d'objet Logger.
Dans ce document, j'utiliser une autre application qui utilise le même type d'objet enregistreur:
App1:Type incohérent dans golang, ne peut pas utiliser <Type> as <Type>
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 (security.New de lib de sécurité):
package security
import "gitlab.sio.com/go/zlog"
Middleware struct {
log zlog.Logger
}
func New(log zlog.Logger){
...
mdw := Middleware{}
mdw.log = log
}
L'erreur que je suis obtenir à la ligne
mdl, _: = security.New (* enregistreur)
est:
ne peut pas utiliser * enregistreur (type "gitlab.sio.com/go/furtif/vendor/gitlab.sio.com/go/zlog".Logger) en tant que type" gitlab.sio. com/go/sécurité/fournisseur/gitlab.sio.com/go/zlog » .Logger en argument security.New
Lire attentivement le message: Ce sont les différents types. L'un provient du paquet '.../furtif/vendor ...', l'autre de '.../security/vendor/...'. Fixez votre distribution. – Volker