Dev Study
Go コース

5. gofmt と標準ツール — 整形と静的検査の思想

Go にはコードの見た目を統一するための公式整形ツール gofmt が標準で付属します(go fmt はこれを呼び出すラッパーです)。インデントや空白の入れ方、波かっこの位置といったスタイルは gofmt が機械的に決めるため、Go のコードはどのプロジェクトでもほぼ同じ見た目になります。スタイルを議論する必要がない、というのが Go の重要な思想です。

もう一つよく使うのが go vet です。これはコンパイルは通るものの怪しい書き方、たとえば Printf の書式指定子と引数の型が合っていない、といった問題を静的に検出します。コンパイラが見つけられないバグの芽を早めに知らせてくれるツールです。

これらは「正しい唯一のスタイルをツールに任せ、人間は中身に集中する」という Go の方針を体現しています。エディタ保存時に gofmt を自動で走らせる設定が一般的で、手で整形を気にすることはほとんどありません。

サンプルコード(フレームワーク環境が必要なため表示のみ)

# 整形検査に使う標準ツール
#
#   gofmt -w main.goファイルを公式スタイルに上書き整形する
#   go fmt ./...        … モジュール全体を整形する(gofmt のラッパー)
#   go vet ./...        … 怪しいコードを静的に検査する
#
# Go のスタイルはツールが機械的に決めるため見た目で悩む必要がない
公式ドキュメントで詳しく ↗