go debug日记:protoc -I . helloworld.proto --go_out=plugins=grpc:.错误debug

使用protoc生成go的文件出现bug
运行命令

protoc -I . helloworld.proto --go_out=plugins=grpc:.

如图所示
go debug日记:protoc -I . helloworld.proto --go_out=plugins=grpc:.错误debug_第1张图片

即,没有指定生成的go文件位置,需要在文件中添加

option go_package="path;name";

其中
path 表示生成的go文件的存放地址,会自动生成目录的。
name 表示生成的go文件所属的包名

之后运行

protoc -I . helloworld.proto --go_out=plugins=grpc:.

又报错

go debug日记:protoc -I . helloworld.proto --go_out=plugins=grpc:.错误debug_第2张图片
在较新的版本的 protoc-gen-goprotoc-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文件
在这里插入图片描述

你可能感兴趣的:(golang学习,golang,开发语言,后端)