带有mustEmbedUnimplemented***方法的grpc

最近,grpc-go 引入了 mustEmbedUnimplemented*** 方法。它用于向前兼容。

简单来说,我无法理解它是如何提供帮助的,以及在没有它的情况下我们面临哪些问题?现在在我的结构中,我使用添加以下语句,但是,我不知道为什么...

type server struct {
     pdfpb.UnimplementedGreetServiceServer
}

在 Github 问题 - https://github.com/grpc/grpc-go/issues/3669 中,他们对此进行了辩论,有人可以简单地解释一下它是如何提供帮助的,以及在没有它的情况下我们面临哪些问题?

回答

那是非常基本的。

UnimplementedGreetServiceServer 是一个包含所有已实现方法的结构。当我添加 pdfpb.UnimplementedGreetServiceServer 时,我可以调用 UnimplementedGreetServiceServer 定义的方法。

就是这样,如果我在 proto 文件中添加更多 RPC 服务,那么我不需要添加所有导致向前兼容性的 RPC 方法。

演示代码可在https://github.com/parthw/fun-coding/tree/main/golang/understanding-grpc-change 获得


以上是带有mustEmbedUnimplemented***方法的grpc的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>