ホームページ > バックエンド開発 > Golang > Go で特定の型をインポートすると「インポートされましたが使用されていません」および「未定義」エラーが発生するのはなぜですか?

Go で特定の型をインポートすると「インポートされましたが使用されていません」および「未定義」エラーが発生するのはなぜですか?

Mary-Kate Olsen
リリース: 2024-11-15 12:03:02
オリジナル
286 人が閲覧しました

Why Am I Getting

インポート パッケージとタイプ

質問:

次のプロジェクト構造内:

src
|-->config
       |--> config.go
|-->otherPackage
       |--> otherFile.go
|-->main.go
ログイン後にコピー

config.go で定義された型があり、otherFile.go で使用する必要があります。ただし、次のステートメントを使用してインポートしようとすると、エラーが発生します:

import (
    "fmt"
    "math"
    "../config"
)
ログイン後にコピー

特定のエラーは次のとおりです:

  • インポートされ、使用されていません。
  • 未定義: Config

型 Config が関数宣言で使用されているにもかかわらず。

根本的な問題は何ですか?

答え:

この問題は、パッケージから特定のタイプのみをインポートしようとしたことが原因で発生します。 Go では、パッケージから特定の要素をインポートすることはできません。パッケージをインポートするときは、基本的にその内容全体をインポートすることになります。

この場合、Config タイプが定義されているパッケージの名前は config であるため、これをインポートすると、そのタイプとその他の識別子が config 名前空間で使用できるようになります。 。たとえば、Config を使用するには、config.Config として参照する必要があります。

したがって、問題を解決するには、次のいずれかの解決策を使用できます:

  • config 変数の名前を変更します: otherFile.go には、インポートされたパッケージをシャドウする config という名前の変数があるため、競合を避けるために名前を変更する必要があります。
  • 修飾名を使用して Config を参照します。 名前変更がオプションではない場合でも、Config 型をその修飾名 (config.Config.
) で参照することで引き続き使用できます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート