我正在尝试通过多种工具生成一些代码。所以,我写了一个文件data.go为
package main
//go:generate awk -v OFILE=names.go -f gen_table.awk $HOME/prj/header.h
//go:generate gofmt -w names.go
//go:generate ./gen_index_html.sh
生成的names.go不会自动格式化,因此,我添加了第二行以强制使用正确的格式。而且我认为它随后会运行。 在运行这些命令之前,Go Go会生成跳转到此目录吗?因为脚本gen_index_html.sh只接受当前目录中的工作。
答案 0 :(得分:4)
生成器在包的源目录中运行。
因此,无论使用generate运行的命令都将在与包含generate指令的文件相同的目录中运行。
一个文件中的多个生成指令以源代码顺序一次执行一个。