Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

How to use go generate

Shulou Source: shulou.com Published: 2022-06-01 10:50:10 11月14日 Update

This article introduces the relevant knowledge of "how to use go generate". In the operation of actual cases, many people will encounter such a dilemma, so let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!

Go generate

Go generate is a tool that comes with Go. Use the command go generate to execute. Go generate works with annotations in the source code. The format is as follows:

/ / go:generate command arg1 arg2

In this way, executing the command go generate in the same directory automatically runs the command command arg1 arg2. Command can be any command in PATH and is widely used. The official website provides several examples, as shown in the documentation.

The stringer command can generate String methods for a given type.

Only / / comments can be used in front of go:generate, comments must be at the beginning of the line, there can be no spaces in front of them and no spaces between / / and go:generate!

In makefile:

All: go generate & & go build. Error code processing

To save the error code and error description through hash

Package errimport "fmt" const (ERR_CODE_OK = 0 / / success ERR_CODE_INVALID_PARAMS = 1 / / invalid parameter ERR_CODE_TIMEOUT = 2 / / request timeout / /...) / / define the mapping between error code and description information var mapErrDesc = ERR_CODE_OK: "success", ERR_CODE_INVALID_PARAMS: "invalid parameter" ERR_CODE_TIMEOUT: "request timeout", / /...} func GetErrDescByCode (code int) string {if desc, ok: = mapErrDesc [code] That's all for ok {return desc} return fmt.Sprintf ("unknown error:% d", code)} "how to use go generate". Thank you for reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!

Tags: Commands errors comments content parameters more knowledge in-line practical learned and then between information dilemmas reality tools situations documents articles methods Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Shulou Information Huawei Redmi Xiaomi NVidia