Goの開発ツーリング
Goのモジュール管理・静的解析・エディタ統合まわりのノートを束ねるハブノート。
モジュール・バージョン管理
- Goのリリースサイクルとサポートポリシー — 半年ごとのメジャーリリースと「直近2バージョンのみサポート」という大前提。他の多くの話の背景になる。
- go.modのgo directiveとtoolchain directive — ビルド最小バージョンの宣言(go)と開発用ツールチェーン指定(toolchain)の使い分け。OSSでは
godirectiveを1つ前のメジャーリリースに留めるべきという話。 - Go 1.24のtool directive — 開発ツールの依存をgo.modで管理する仕組み。
tools.goハックの置き換え。
静的解析・lint
- go vet — 標準搭載の最小限の静的解析。追加インストール不要。
- staticcheck — 150以上のチェックを持つ代表的なサードパーティlinter。誤検知の少なさ重視。
- golangci-lint — 多数のlinter(staticcheck含む)を同梱して並列実行するアグリゲータ。事実上の標準。
エディタ統合
- gopls — 公式のlanguage server。エディタでの補完・診断・リファクタリングを担う。