ホームページ  >  記事  >  バックエンド開発  >  golangのさまざまなパッケージ

golangのさまざまなパッケージ

WBOY
WBOYオリジナル
2023-05-16 10:01:07623ブラウズ

Golang では、異なるパッケージが相互に呼び出したり参照したりすることができ、これが Golang のモジュール設計の基礎となります。では、Golang でさまざまなパッケージを正しく使用するにはどうすればよいでしょうか?この記事では、Golang のさまざまなパッケージの使用法と考慮事項について詳しく説明します。

まず、さまざまなパッケージを参照する方法を知る必要があります。 Golang では、次に示すように、import ステートメントを使用してパッケージを導入できます。

import "packageName"

import ステートメントを使用した後、インポートされたpackage エクスポート可能な識別子 (プロパティ、メソッドなど) は呼び出して使用できますが、エクスポートできない識別子にはアクセスできません。

次に、異なるパッケージ間で呼び出しを行う方法を見てみましょう。

2 つのパッケージ packageApackageB があり、packageA には関数 funcA があるとします。 packageB で呼び出します。次に、packageB で、import ステートメントを介して packageA をインポートし、次の方法で呼び出す必要があります。

package packageB

import "packageA"

func main() {
    packageA.funcA()
}

これは次のようになります。上記のコードで、funcA メソッドの前の packageA. は、関数が packageB ではなく packageA で定義されていることを示していることに注意してください。関数。また、違いは大文字と小文字の違いだけであり、異なるパッケージ内の変数名や関数名は同じであってもかまいません。したがって、混乱やエラーを避けるために、パッケージ名と変数/関数名を一意にしておく必要があります。

Golang では、すべての識別子はデフォルトでプライベートであり、それらが配置されているパッケージ内でのみアクセスできます。ただし、エクスポート可能な識別子とエクスポート不可能な識別子は、変数の最初の文字の大文字と小文字によって区別できます。名前と関数名。具体的には、変数名と関数名の大文字はエクスポート可能な識別子を表し、小文字はエクスポートできない識別子を表します。

たとえば、次の関数は packageA で定義されています。

package packageA

func FuncA() {
    fmt.Println("This is a public function.")
}

func funcA() {
    fmt.Println("This is a private function.")
}

このうち、FuncA はエクスポート可能な関数であり、別の関数で使用できます。 package が呼び出されます。funcA はプライベート関数であり、packageA パッケージ内でのみ使用できます。

不適切な使用を防ぐために、エクスポートできない識別子にはプライベート命名法、つまり小文字とアンダースコアの組み合わせ (func_a など) を使用する必要があります。

異なるパッケージ間で変数を共有する必要がある場合は、Golang でグローバル変数を使用できます。グローバル変数は、変数の前に var キーワードを使用して宣言する必要があります。そうしないと、変数は関数のローカル変数とみなされます。例:

package packageA

var GlobalVar int = 100

このようにして、このグローバル変数を他のパッケージで参照できます。グローバル変数はマルチスレッドのシナリオで問題を引き起こす可能性があるため、グローバル変数を使用する場合はマルチスレッドの安全性に注意する必要があることに注意してください。

Golang では、同じフォルダーに異なるファイルを作成することで、同じパッケージを分割できます。各ファイルのコードは同じパッケージに属しており、他のファイルで直接呼び出したり参照したりできます。例:

packageA ディレクトリに、2 つのファイル file1.gofile2.go を作成します。 #これら 2 つのファイル内のコードは

packageA

パッケージに属しており、他のファイルで直接呼び出すことができます。 最後に、異なるパッケージ間では、コードの可読性と保守性が低下するため、グローバル変数や関数呼び出しを過度に使用しないでください。正しい方法は、コード構造の可読性と保守性を向上させるために、関数と変数の表示範囲を可能な限り独自のパッケージに減らすことです。

つまり、Golang では、異なるパッケージが相互に呼び出したり参照したりすることができ、これが Golang のモジュール設計の基礎となります。

import

ステートメントを使用してパッケージを導入します。異なるパッケージ間でメソッドと変数を使用する場合は、エクスポート可能な識別子とエクスポート不可能な識別子の違いに注意する必要があります。同時に、コードの可読性と保守性を向上させるために、関数や変数の表示範囲を可能な限り独自のパッケージに減らし、グローバル変数や関数呼び出しの過度の使用を避けます。これらの考慮事項により、別のパッケージを使用するときに、他のパッケージ内の関数と変数を正しく参照および呼び出すことができるようになります。

以上がgolangのさまざまなパッケージの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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