Go Wiki: GoGenerateTools

go generateは、それを使用するためのツールがあって初めて役立ちます。以下は、コードを生成するのに役立つツールの不完全なリストです。

  • goyacc – Go用のYacc。
  • stringer – enumのfmt.Stringerインターフェースを実装します。
  • gostringer – enumのfmt.GoStringerインターフェースを実装します。
  • jsonenums – enumのjson.Marshalerおよびjson.Unmarshalerインターフェースを実装します。
  • go-syncmap - パッケージをsync.Mapの汎用テンプレートとして使用してGoコードを生成します。
  • go-syncpool - パッケージをsync.Poolの汎用テンプレートとして使用してGoコードを生成します。
  • go-atomicvalue - パッケージをatomic.Valueの汎用テンプレートとして使用してGoコードを生成します。
  • go-nulljson - パッケージをdatabase/sql.Scannerおよびdatabase/sql/driver.Valuerを実装する汎用テンプレートとして使用してGoコードを生成します。
  • go-enum - パッケージを、enum用のfmt.Stringer | binary | json | text | sql | yamlインターフェースを実装する汎用テンプレートとして使用してGoコードを生成します。
  • enumer - Go enumを文字列に変換するGoコードを生成します。
  • go-import — 非Goファイルの自動インポートを実行します。
  • gojson - 例のJSONドキュメントからGo構造体定義を生成します。
  • vfsgen - 指定された仮想ファイルシステムを静的に実装するvfsdata.goファイルを生成します。
  • goreuse - 定義を置き換えることで、パッケージを汎用テンプレートとして使用してGoコードを生成します。
  • embedfiles - ファイルをGoコードに埋め込みます。
  • ragel - ステートマシンコンパイラ
  • peachpy - Pythonに組み込まれたx86-64アセンブラ、Goアセンブラを生成
  • bundle - bundleは、特定のターゲットパッケージに含めるのに適したソースパッケージの単一ソースファイルバージョンを作成します。
  • msgp - MessagePack用のGoコードジェネレータ
  • protobuf - プロトコルバッファ
  • thriftrw - thrift
  • gogen-avro - avro
  • swagger-gen-types - swagger仕様からのGo型
  • avo - Goでアセンブリコードを生成
  • Wire - Go用のコンパイル時依存性注入
  • sumgen - sum-type宣言からインターフェースメソッドの実装を生成
  • interface-extractor - パッケージ内で使用されるメソッドのみを持つ、目的の型のインターフェースを生成します。
  • deep-copy - 指定された型に対してディープコピーメソッドを作成します。
  • libfsm - (とりわけ) GoおよびGo風味のamd64アセンブリをサポートし、正規表現をマッチングするためのFSMツールキット
  • re2c - C、C++、Go用のレキサージェネレーター
  • re2dfa - 正規表現を有限状態機械に変換し、Goソースコードを出力します。
  • pigeon - Go用のPEGパーサージェネレーター

このコンテンツはGo Wikiの一部です。