In der folgenden Kolumne des Golang-Tutorials erfahren Sie, wie Sie die gleichen Probleme lösen können, die von Anbietern in Golang verursacht werden. Ich hoffe jedoch, dass es für Freunde in Not hilfreich ist.
Problem:
Im Projekt habe ich mein eigenes sekundäres Entwicklungsframework basierend auf dem Open-Source-Projekt Gin verwendet. Bei der Registrierung der Route wurde eine Fehlermeldung wie folgt angezeigt:
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
Analyse:
Aus der Eingabeaufforderung geht hervor, dass, obwohl beide vom Typ func(*Context) sind (Hinweis: Der Typ HandlerFunc ist func(*Context), Sie können ihn selbst im Gin-Quellcode überprüfen), die Pakete von Die beiden sind offensichtlich unterschiedlich. Das Paket unter dem Anbieter in meinem Projekt weist darauf hin, dass der Paketpfad inkonsistent ist. Dies sollte durch die verschiedenen im Projekt geladenen Pakete verursacht werden : govendor add github.com/dazhenghu/ginApp/ Controller, das heißt, fügen Sie zuerst das selbst entwickelte Framework zur Verwaltung zum Anbieter hinzu und führen Sie es dann erneut aus. Dieser Fehler wird nicht gemeldet
Weitere verwandte technische Artikel finden Sie bitte Besuchen Sie die Kolumne Go-Sprach-Tutorial
!
Das obige ist der detaillierte Inhalt vonLösen Sie das Problem desselben Typs, das vom Anbieter in Golang verursacht wurde, aber zu unterschiedlichen Typen führt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!