-
Notifications
You must be signed in to change notification settings - Fork 17.7k
GoGenerateTools
陈海欣 edited this page Jul 24, 2019
·
39 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
andjson.Unmarshaler
interfaces for enums. - go-syncmap - Generates Go code using a package as a generic template for sync.Map.
- go-atomicvalue - Generates Go code using a package as a generic template for atomic.Value.
- 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
- avo - generate assembly code with Go
- Wire - Compile-time Dependency Injection for Go