当运行 go generate 命令时,他会扫描当前包相关的源代码文件,找出所有包含有 //go:generate 的特殊注释,提取并执行注释后面的命令,命令为可执行程序,如同在 shell 下面执行。

需要注意的

  • 这个注释必须在 .go 源码文件中

  • 注释必须以 //go:generate 开头,双斜线后面没有空格。

  • 每个源码文件可以包含多个注释。

  • 显式的运行 go generate 命令时才有效。

  • 命令串执行时,如果出错会终止后面的执行。

命令

go generate [-run regexp] [-n] [-v] [-x] [build flags] [file.go... | packages]
  • -run 正则表达式匹配命令行,仅执行匹配命令

  • -v 输出被处理的包名和源文件名

  • -n 输出命令但不执行

  • -x 输出并执行命令

参考 go generate介绍