2017-06-22 53 views
0

我想通过几个工具来生成一些代码。所以,我写的将“生成”更改为目录以运行脚本?

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不会自动格式化的文件data.go,所以,我增加了第二行来强制正确的格式。我认为它随后会运行。 运行这些命令之前,Go会跳转到这个目录吗?因为脚本gen_index_html.sh只接受当前目录中的工作。

+0

上述问题中*目录*的目录是?它与当前目录有什么关系,即你运行'go generate'的目录? – putu

回答

1

the documentation

该发电机在包的源目录中运行。

因此,无论使用generate运行的命令都将与包含generate指令的文件在同一目录中运行。

以源代码顺序一次执行一个文件中的多个生成指令。