No.
2024-05-11
  • Jan
  • Feb
  • Mar
  • Apr
  • May
  • Jun
  • Jul
  • Aug
  • Sep
  • Oct
  • Nov
  • Dec
  • Sun
  • Mon
  • Tue
  • Wed
  • Thu
  • Fri
  • Sat
  • 27
  • 28
  • 29
  • 30
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

 9章 モジュールとパッケージ

9.1 リポジトリ・モジュール・パッケージ

  • Goのライブラリは次の3つの概念を用いて管理される
    • パッケージ:Goにおける最小の管理単位。ファイルの冒頭にpackageと書く。
    • モジュール:Goのライブラリ・アプリケーションのrootになる。1つ以上のパッケージから構成される。
    • リポジトリ:モジュールが保存される場所。最上位の概念。1つのリポジトリには1つのモジュールを保存するのがおすすめ。
  • 標準ライブラリ以外のパッケージのコードを利用する場合は、事前にモジュールとして宣言する必要がある
    • 全てのモジュールはグローバルに一意の識別子を持つ
    • 通常、そのモジュールが置いてあるリポジトリへのパス(GitHubなど)を指定する

9.2 モジュールとgo.modファイル

  • プロジェクトの開始時はモジュールの作成を行う。
    • モジュールの作成はgo modコマンドで行う
    • go mod init MODULE_PATH
    • MODULE_PATHはグローバルに一意の名前をつけること。
    • モジュール名は大文字・小文字が区別される。基本的に大文字は使わないようにすること。
  • go modファイルの構成
    • module: モジュールファイルが置かれているパス。
    • go: goのバージョン。ここに記載されているバージョン以上のものを使うこと
    • require: 依存するモジュール群。