ホームページ  >  記事  >  バックエンド開発  >  Go で「インポートされましたが使用されていません」というエラーが発生するのはなぜですか?

Go で「インポートされましたが使用されていません」というエラーが発生するのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-26 15:22:30315ブラウズ

Why Do I Get an

インポートと未使用のエラーの説明

Go でパッケージをインポートするとき、コンパイラーはソース内でそのパッケージの実際の使用状況を見つけることを期待します。ファイル。インポートされたパッケージが使用されていない場合、「インポートされ、使用されていません」というエラーが発生する可能性があります。

この例では、「./api」パッケージのインポートによってこのエラーが発生します。その理由は、実際には API パッケージの何も使用していないためです。 API フォルダーにファイルを保存している場合は、インポート ステートメントを使用してそれらのファイルを明示的に含める必要があります。

import (
    "log"
    "net/http"
    "os"
    "github.com/emicklei/go-restful"
    "github.com/emicklei/go-restful/swagger"

    // Include the api package
    _ "./api"
)

インポートの接頭辞としてアンダースコア (_) を使用することで、基本的に次のことを伝えます。コンパイラはパッケージ コードのインポートをスキップしますが、初期化関数 (存在する場合) は引き続き実行します。これにより、API フォルダーのパッケージ初期化コードがエラーを引き起こすことなく確実に実行されます。

また、API パッケージから特定の関数または型を使用する場合は、それらを明示的にインポートできます:

import (
    // Others here
    api "my-custom-path/api-package"
)

この場合、「api」エイリアスを使用して、API パッケージの関数または型を利用できます。例:

api.SomeFunction()

相対インポートを避けるために、一般に GOPATH 経由でパッケージをインポートすることをお勧めします。 .

以上がGo で「インポートされましたが使用されていません」というエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。