Goでちょっとしたウェブアプリケーションを書く際、依存を減らしたい気持ちでGoのhtml/templateを使う場面もないわけではない。とはいえ、HTMLを組み立てるのも最近はReact/TypeScriptに慣れきってしまっているので、実行してみるまでテンプレートが正しいかどうかわからない、なんてのは不安を誘う状況だ。 しかし、テンプレートの解析時に {{template ...}} で呼び出されるテンプレートを指定しないとエラーとなることからもわかるとおり、Goのテンプレートは事前にしっかり解析されているらしい。そしてありがたいことに、Goのテンプレートはそのパーザを別パッケージとして公開してくれている(text/template/parse)。これを使って、Goのテンプレートを静的型チェックするツールを書いた。 GitHub - motemen/go-template-statict