import
Go ソース コードを整理するための基本単位としてパッケージを使用します。すべての構文の可視性は、パッケージレベル。各ファイルが同じパッケージ名に属している限り、同じパッケージ内にさまざまなファイルを含めることができます。
各ソース コード ファイルの最初の行は、次の構文でどのパッケージに属するかを定義する必要があります。
package xxx
これは、このソース コードのインポートに使用される標準パッケージまたはサードパーティ パッケージになります。ファイル、つまり
import ( "a/b/c" "fmt" )
標準ライブラリは GO インストール ディレクトリから検索され、サードパーティ ライブラリは開発者が定義した $GOPATH
から検索されます。どちらも見つからない場合、コンパイラはエラーを報告します。サードパーティのパッケージを使用する場合、ソース コードと .a の両方がインストールされていると、コンパイラはソース コードにリンクします。
注: 上記のステートメントの a/b/c の最後の c は、パッケージ名ではなくディレクトリ名です。
ファイル内のメソッドを呼び出す場合は、次の形式を使用します。
package.Methodxxx()
同じフォルダー内の複数のファイルのパッケージは、通常、フォルダーの名前として定義されますが、例外もあります。たとえば、上の図では、c ファイルの下にあるすべてのファイルのパッケージが fux として定義されており、このフォルダーの下にあるファイルのメソッドを呼び出すときは、代わりに fux.Methodxxx()
のみを使用できます。 of c..Methodxxx()
メイン以外のパッケージは、コンパイル後に .a ファイルを生成します ($GOROOT# にインストールされていない限り、一時ディレクトリに生成されます) ## または go install
$GOPATH を使用すると、後続の実行可能プログラムのリンクに使用される .a) が表示されなくなります。
GO15VENDOREXPERIMENT="1" を設定する必要があり、バージョン 1.6 ではこれをデフォルトのパラメーター構成として使用します。ベンダー ディレクトリを含むパッケージのインポート パスに関するルールは、おおよそ次のとおりです。
├── d ├── mypkg | └── main.go └── vendor └── q ├── q.go
go 言語チュートリアル 列に注目してください。
以上がGo 言語でのパッケージのインポートに関するいくつかの問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。