_GENERATED
のような接尾辞がファイル名に追加されても、コンパイラは"undefined: xxx"
のような "無関係な"エラーを出すので、ファイルが生成されるまで情報は保持されません(コンパイラは、存在する場合は、version_GENERATED.go
になります)。
たとえば、stringer
ジェネレータは、名前がtype_string.go
のファイルを生成します。ここで、typeは、生成されるタイプの名前で置き換えられます。
だから、_gen
または_generated
という接尾辞を使用する以外は、ファイル名にはgeneral guidelinesのようにすれば十分です。また、あなたのツールが一般公開されていて他の人にも使用されている場合は、ツールの名前を接尾辞として使用してください(stringer
のように)。
あなたのジェネレータは同じように、あなたのジェネレータは、名前がエラーメッセージに含まれている場合おしゃべりでエクスポートされた定数を生成することができ、実行することがまだある場合には、ユーザーがおしゃべりなエラーメッセージを取得したいならば:
const MustRunStringerGenerator = 0
そして、あなたのプログラムのようにそれを参照してください。
:
var _ = MustRunStringerGenerator // Test if stringer has been run
をstringer
がまだ実行されていない場合は、エラーメッセージが表示されます