ホームページ > バックエンド開発 > Golang > Go で特定の型をインポートできないのはなぜですか?

Go で特定の型をインポートできないのはなぜですか?

Susan Sarandon
リリース: 2024-11-14 22:24:02
オリジナル
285 人が閲覧しました

Why Can't I Import a Specific Type in Go?

パッケージと型のインポート

問題:

ユーザーが別のパッケージから型をインポートするときに問題が発生しましたGo プロジェクトの構造。 import ステートメントでは、型が関数宣言で使用されている場合でも、未使用のインポートまたは未定義の型に関する警告が表示されます。

プロジェクト構造:

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

輸入試行:

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

エラー:

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

原因:

この問題は、インポート構文が正しくないために発生します。 Go では、パッケージから特定の型や関数をインポートすることはできません。パッケージ全体のみをインポートできます。

解決策:

問題を解決するには、インポート ステートメントを次のように変更する必要があります:

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

パッケージと型の参照:

パッケージ全体がインポートされるため、型は完全修飾名を使用して参照する必要があります:

func function(... config.Config) {}
ログイン後にコピー

変数シャドウイング:

インポートされたパッケージと同じ名前の変数が現在のパッケージで宣言されている場合スコープの場合、パッケージをシャドウします。これを回避するには、変数の名前を別の名前 (

func function(... config.Config) {}
var cfg config.Config
ログイン後にコピー
など) に変更します。

以上がGo で特定の型をインポートできないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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