Damian Gryski edited this page Mar 27, 2018 · 18 revisions

go generate is only useful if you have tools to use it with! Here is an incomplete list of useful tools that generate code.

  • goyacc – Yacc for Go.
  • stringer – Implements fmt.Stringer interface for enums.
  • gostringer – Implements fmt.GoStringer interface for enums.
  • jsonenums – Implements json.Marshaler and json.Unmarshaler interfaces for enums.
  • gojson - Generates go struct definitions from example json documents.
  • vfsgen - Generates a vfsdata.go file that statically implements the given virtual filesystem.
  • goreuse - Generates Go code using a package as a generic template by replacing definitions.
  • embedfiles - Embeds files into Go code.
  • ragel - State machine compiler
  • peachpy - x86-64 assembler embedded in Python, generates Go assembly
  • bundle - Bundle creates a single-source-file version of a source package suitable for inclusion in a particular target package.
  • msgp - A Go code generator for MessagePack
  • protobuf - protobuf
  • thriftrw - thrift
  • gogen-avro - avro
  • swagger-gen-types - go types from swagger specifications
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.