Go Wiki: GoGenerateTools
go generate
は、一緒に使用するツールがないと役に立ちません! ここでは、コードを生成する便利なツールの不完全なリストを示します。
- goyacc – Go用のYacc。
- stringer – 列挙型に
fmt.Stringer
インターフェースを実装します。 - gostringer – 列挙型に
fmt.GoStringer
インターフェースを実装します。 - jsonenums – 列挙型に`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 - 列挙型に`fmt.Stringer` | `binary` | `json` | `text` | `sql` | `yaml`インターフェースを実装するジェネリックテンプレートとしてパッケージを使用してGoコードを生成します。
- enumer - Go列挙型を文字列に変換したり、文字列から変換したりする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 - protobuf
- thriftrw - thrift
- gogen-avro - avro
- swagger-gen-types - swagger仕様からのGoタイプ
- avo - Goでアセンブリコードを生成する
- Wire - Goのコンパイル時依存性注入
- sumgen - sum型宣言からインターフェースメソッド実装を生成する
- interface-extractor - パッケージ内で使用されているメソッドのみを使用して、目的のタイプのインターフェースを生成します。
- deep-copy - 指定された型に対してディープコピーメソッドを作成します。
- libfsm - 正規表現のマッチングにGoとGoフレーバーのamd64アセンブリをサポートするfsmツールキット
- re2c - C、C ++、およびGoの字句解析器ジェネレータ
- re2dfa - 正規表現を有限状態マシンに変換し、Goソースコードを出力します
- pigeon - Go用のPEGパーサージェネレータ
このコンテンツはGo Wikiの一部です。