protoc编译goalng踩坑

1
protoc -I. --go_out=. *.proto

执行上述命令,期望在当前路径下生成响应的go文件,但是工具在当前路径自动创建了文件夹。

--go_out 参数的写法是,参数之间用逗号隔开,最后加上冒号来指定代码目录架构的生成位置,例如:--go_out=plugins=grpc,paths=import:.paths 参数有两个选项,importsource_relative 。默认为 import ,代表按照生成的 go 代码的包的全路径去创建目录层级,source_relative 代表按照 proto 源文件的目录层级去创建 go 代码的目录层级,如果目录已存在则不用创建

1
protoc -I. --go_out=paths=source_relative:. *.proto