次のコラム golang チュートリアル では、golang のベンダーによって引き起こされる同じ種類の問題を解決する方法を紹介しますが、プロンプトの種類は異なります必要としている友人の役に立てば幸いです。役に立ちます!
質問:
プロジェクトでは、オープン ソース プロジェクト gin に基づいた独自の二次開発フレームワークを使用しました。ルート 次のようなエラー メッセージが表示されました:
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
分析:
プロンプトから、これらはすべて func(*Context) であることがわかります。 type (注: HandlerFunc の型は func(*Context) です。gin ソース コードで自分で確認できます) ですが、この 2 つのパッケージは異なります。明らかに、前者は私のプロジェクトのベンダーのパッケージです。このパッケージのパスが矛盾しているというプロンプトが表示されます。プロジェクトによって読み込まれた別のパッケージである必要があります。
解決策:
依存関係の追加コマンドを実行することで、次のようになります。 govendor add github.com/dazhenghu/ginApp/controller、自分で開発したフレームワークも最初に管理のためにベンダーに追加してから再度実行すると、このエラーは報告されません
関連技術の詳細については、記事については、go 言語チュートリアル 列をご覧ください。
以上がgolang のベンダーによって引き起こされる同じタイプの問題を解決しますが、異なるタイプのプロンプトが表示されますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。