MustEmbedUnimplemented* gRPC 中用于前向兼容性的方法
grpc-go 最近引入了 MustEmbedUnimplemented* 方法来确保服务器实现中的前向兼容性。以前,服务器实现可以注册服务,而无需实现原型定义中定义的所有方法。这导致添加到原型的新方法会由于服务器中缺少实现而导致编译时错误。
使用 MustEmbedUnimplemented* 方法:
例如:
// Implements gRPC FooBarServiceServer type FooBarService struct { grpc.UnsafeFooBarServiceServer // Opt out of forward compatibility // other fields }
要禁用代码生成中的前向兼容性:
protoc --go-grpc_out=require_unimplemented_servers=false:.
mustEmbedUnimplemented* 方法确保服务器实现始终保持最新的原型定义,防止潜在的不一致。它提供了一种优雅的方式来添加新方法,而不会破坏现有代码,同时仍然保持向后兼容性。
以上是gRPC-go 中的'mustEmbedUnimplemented*”如何确保服务器实现的前向兼容性?的详细内容。更多信息请关注PHP中文网其他相关文章!