April 2022
Beginner to intermediate
464 pages
6h 44m
Japanese
Go Modulesの主な特徴として以下の項目が挙げられます。
通常、GoのパッケージはGitHubなどのバージョン管理システム上でリポジトリとして開発しますが、1つのリポジトリは1つ以上のモジュールで構成されます。
Go Modulesではセマンティックバージョニングによってバージョンを管理します。
go.modはjsonやtomlのようなファイル形式ではなく、行指向の独自ファイル形式で依存ライブラリのバージョンを管理します。
依存モジュールは go.sum ファイルによってチェックサムが管理され、プロキシやソースリポジトリからモジュールをダウンロードした際に想定しないファイルかどうか検知できます。
モジュールの可用性やチェックサムデータベースについては後ほど触れます。
Go Modulesでライブラリを使う場合は go get コマンドを用います。たとえばロギングライブラリの github.com/rs/zerolog/log をインストールしてみましょう。 -u オプションを付けると取得しようとしているライブラリ(この場合は github.com/rs/zerolog )が依存しているライブラリについても最新のバージョンを取得できます。
$ go ...Read now
Unlock full access