使用protoc生成go的文件出现bug
运行命令
protoc -I . helloworld.proto --go_out=plugins=grpc:.
如图所示
即,没有指定生成的go文件位置,需要在文件中添加
option go_package="path;name";
其中
path 表示生成的go文件的存放地址,会自动生成目录的。
name 表示生成的go文件所属的包名
之后运行
protoc -I . helloworld.proto --go_out=plugins=grpc:.
又报错
在较新的版本的 protoc-gen-go
和 protoc-gen-go-grpc
插件中,gRPC 相关的 Go 代码不再通过 –go_out=plugins=grpc
这种方式生成,而是通过两个独立的命令生成:
--go_out
用来生成常规的 Go 代码(例如消息的 Go 结构体)。
--go-grpc_out
用来生成与 gRPC 相关的代码(例如 gRPC 服务的客户端和服务器代码)。
所以使用
protoc -I . helloworld.proto --go_out=. --go-grpc_out=.
运行成功,生成helloworld.pb.go文件