go generate工具

1. go generate go generate命令运行时,将找到源代码中所有包含//go:generate的特殊注释,提取并执行//go:generate后附加的命令。 基本语法: //go:generate [-run regexp] [-n] [-v] [-x] [build flags] [file.go... | packages] 需要注意的几点: 该特殊注释必须在.go源码文件中。 每个源码文件可以包含多个generate特殊注释。 go generate只在运行go generate命令时运行,go build, go get, go test等其他命令不会运行它。 命令串行执行的,如果出错,就终止后面的执行。 特殊注释必须以"//go:generate"开头,双斜线后面没有空格。 简单的例子: package main import "fmt" //go:generate echo "world" func main() { fmt.Println("hello") } 运行结果: 在go generate命令中,还可以使用一些环境变量: $GOARCH The execution architecture (arm, amd64, etc.) $GOOS The execution operating system (linux, windows, etc.) $GOFILE The base name of the file....

May 27, 2021 · 3 min · 李昌