Golang は、効率的で簡潔かつ安全なプログラミング言語であり、優れた同時実行パフォーマンス、シンプルな構文、読みやすさで人気があります。 Golang では、パッケージはコードを編成するための基本単位であり、各パッケージには複数のファイルを含めることができます。
この記事では、パッケージ名、インポート パス、可視性、バージョン管理、ドキュメント コメントなどの重要な概念を含む、Golang パッケージのセットアップ方法を紹介します。
Golang では、すべてのファイルがパッケージに属している必要があります。 Golang パッケージは、.go 接尾辞が付いた 1 つ以上のファイルで構成されます。パッケージ名は一意であり、ディレクトリ名と一致している必要があります。
例:
hello という名前のディレクトリに次のコードを書いたとします:
package main import "fmt" func main() { fmt.Println("Hello, World!") }
ディレクトリでターミナルを開いて次のコマンドを実行します:
go run .
は Hello, World! を出力します。この例では、パッケージのディレクトリ名が hello であり、パッケージが他のパッケージに属していないため、パッケージ名 main を使用しました。
Golang では、import キーワードを使用して 1 つ以上のパッケージをインポートします。インポート パスは相対パスまたは絶対パスにすることができます。
相対パス:
src/hello ディレクトリに次のコードを書いたとします:
package main import "./utils" func main() { utils.PrintMessage("Hello") }
このディレクトリでターミナルを開き、次のコマンドを実行します:
go run .
Hello が出力されます。この例では、相対パスを使用して utils という名前のパッケージをインポートします。
絶対パス:
$GOPATH/src/example.com/hello ディレクトリに次のコードを書いたとします:
package main import "example.com/utils" func main() { utils.PrintMessage("Hello") }
このディレクトリでターミナルを開いて実行します。次のコマンド:
go run .
は Hello を出力します。この例では、絶対パスを使用して utils という名前のパッケージをインポートしました。 example.com は仮想ドメイン名であり、$GOPATH/src/example.com ディレクトリにマップされることに注意してください。
Golangでは、変数、定数、関数、構造体などの識別子の可視性が異なります。識別子の可視性は、それが存在するパッケージによって異なります。
パッケージでは、識別子はパブリックまたはプライベートにすることができます。識別子は、それが含まれるパッケージ内でのみ表示されます。
大文字で始まるすべての識別子はパブリックであり、他のパッケージで使用できます。小文字で始まるすべての識別子はプライベートであり、それらが配置されているパッケージ内でのみ使用できます。
たとえば、utils という名前のパッケージには、次のコードが含まれる場合があります:
package utils import "fmt" const Pi = 3.14159 func add(x int, y int) int { return x + y } func PrintMessage(message string) { fmt.Println(message) }
パッケージが他のパッケージで使用される場合、アクセスできるのは公開識別子のみです:
package main import ( "example.com/utils" "fmt" ) func main() { fmt.Println(utils.Pi) utils.PrintMessage("Hello") }
ディレクトリでターミナルを開き、次のコマンドを実行します。
go run .
は 3.14159 と Hello を出力します。
Golang では、バージョン管理に go.mod ファイルを使用します。 go.mod ファイルは、現在のモジュールの名前、バージョン情報、依存関係情報を定義します。
Hello プロジェクトで utils という名前のサードパーティ パッケージを使用するとします。次のコマンドを使用して、それを依存関係リストに追加できます:
go get example.com/utils@v1.0.0
このコマンドはパッケージをダウンロードしますutils サードパーティ パッケージ バージョン v1.0.0 という名前を付け、依存関係リストに追加します。 go.mod ファイルに、次のコンテンツが追加されます。
module example.com/hello go 1.16 require example.com/utils v1.0.0
コードでサードパーティのパッケージを使用する場合、そのパッケージ名を直接インポートできます。例:
package main import ( "example.com/utils" "fmt" ) func main() { fmt.Println(utils.Pi) utils.PrintMessage("Hello") }
Golang では、ドキュメント コメントを使用してドキュメントを生成し、コードの読みやすさを向上させます。ドキュメントのコメントは // または / / で始まり、識別子の前に置かれます。 godoc ツールを使用してドキュメントを生成すると、ドキュメントは解析されてドキュメントになります。
たとえば、次はドキュメント コメントを含む関数の例です:
package utils // add 函数计算两个整数的和。 func add(x int, y int) int { return x + y }
godoc ツールを使用してドキュメントを生成すると、次のコンテンツが表示されます:
FUNCTIONS func add(x int, y int) int add 函数计算两个整数的和。
概要
この記事では、パッケージ名、インポート パス、可視性、バージョン管理、ドキュメントのコメントなど、Golang パッケージ設定の基本概念を紹介します。これらの概念は、Golang を使用してコードを整理するための基本的な知識であり、これらをマスターすると、Golang コードがより標準化され、保守と拡張が容易になります。
以上がGolang パッケージの設定の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。