blob: ca011c6ff82fbe0ef67907a068b09de887dd11cb [file] [log] [blame] [view]
Dmitri Shuralyovbb6383d2015-02-05 19:02:00 -08001[`go generate`](https://blog.golang.org/generate) is only useful if you have tools to use it with! Here is an incomplete list of useful tools that generate code.
Samer Mastersonb3551a02015-02-02 14:38:50 -08002
Dmitri Shuralyovbb6383d2015-02-05 19:02:00 -08003* [go tool yacc](https://golang.org/cmd/yacc/) – Yacc for Go.
4* [stringer](https://godoc.org/golang.org/x/tools/cmd/stringer) – Implements `fmt.Stringer` interface for enums.
Dmitri Shuralyov8ecaf0b2015-02-05 19:04:53 -08005* [gostringer](https://godoc.org/github.com/sourcegraph/gostringer) – Implements `fmt.GoStringer` interface for enums.
Dmitri Shuralyovbb6383d2015-02-05 19:02:00 -08006* [jsonenums](https://github.com/campoy/jsonenums) – Implements `json.Marshaler` and `json.Unmarshaler` interfaces for enums.
Dmitri Shuralyov7754f522015-05-29 18:11:14 -07007* [gojson](https://github.com/ChimeraCoder/gojson) - Generates go struct definitions from example json documents.
8* [vfsgen](https://github.com/shurcooL/vfsgen) - Generates a vfsdata.go file that statically implements the given virtual filesystem.