🦁

【Go_基礎】go.sumってなに?

2024/12/15に公開

go.sumってなに?

・go.sumは、go.modにある外部パッケージの情報がハッシュ値で記録されている
外部のライブラリを使う場合に必要
・標準ライブラリだけであればgo.sumは必要ない
・go.sumのsumはチェックサムのサムらしい
・go.modにある外部パッケージ情報がハッシュ値で記録されている
・go.modと同じプロジェクトのルートディレクトリ(一番の親フォルダのこと)に置く

→go.modとセットで必要くらいに思っているとよさそう

いつ必要なの?

依存関係の整合性をチェックするタイミングで使われる。
以下実行時にgo.sumのファイルがチェックされる。

go build:コンパイル時
go run:実行時
go get:依存関係追加時・更新時
go mod tidy:モジュール整理時
go mod veryfy:依存関係の整合性確認時
go test:パッケージインストール時

(メモ)

・ハッシュ値:データを何かしらのアルゴリズムで変換した固定長の文字列のこと。ハッシュ化前のデータが少しでも変わると、ハッシュ値も変わる。ハッシュ値からは元データへ戻すことはできない。ハッシュ値から元データを再構成するための十分な情報が残っていないため戻せない。

Discussion