As of Go version 1.4, the language contains a tool that helps with code generation, called Go generate. Go generate scans source code for general commands to run. This operates independently of go build, and thus must be run before code is built. Go generate is run by the code author, not by users of the compiled binary. This tool runs similarly to how Makefiles and shell scripts are typically used, but it is packaged with the Go tool and we don't need to include any other dependencies.
Go generate will search the code base for lines with the following pattern: //go:generate command argument.
A generated source file should have a line such as the following, in order to convey that the code was generated:
^// Code generated .* DO NOT EDIT\.$
Go generate utilizes a group of variables when the generator is run:
- $GOARCH: The architecture of the executing...