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の一部です。