一. 原来的项目结构
二. 选择源proto文件及其目录&目的proto文件及其目录
- 在E:\code\go_test\simple_demo\api 文件夹下,递归创建\snapshot\helloworld\v1\ad.pb.go
E:\code\go_test\simple_demo> protoc --go_out=paths=source_relative:./api .\snapshot\helloworld\v1\ad.proto
//source_relative是把后面的src目录&文件递归拷贝的意思。它后面的目录指的是指定目的文件夹,以执行命令的文件夹为准
2. 在E:\code\go_test\simple_demo\api2文件夹下,递归创建 helloworld\v1\ad.pb.go
E:\code\go_test\simple_demo\snapshot> protoc --go_out=paths=source_relative:../api2 .\helloworld\v1\ad.proto
3. 在E:\code\go_test\simple_demo/service 生成example.pb.go
E:\code\go_test\simple_demo> protoc --go_out=paths=source_relative:. .\service\example.proto
三. 控制生成的go文件的package名
proto的go_package有两部分组成
因为protoc的go_out参数配成了source_relative,所以前面的生成路径不重要。
package名成功被改变