gRPC学习之三:初试GO版gRPC开发,Java面试题中高级

}

[](

)根据proto生成go源码

  1. 在helloworld.proto所在的目录,执行以下命令:

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

  1. 如果helloworld.proto没有语法错误,会在当前目录生成文件helloworld.pb.go,这里面是工具protoc-gen-go自动生成的代码,里面生成的代码在开发服务端和客户端时都会用到;

  2. 下面是helloworld.pb.go的代码片段,作用是服务注册,入参是GreeterServer是个接口,由此可以推测:在服务端,由具体的业务代码来实现GreeterServer接口,并且调用RegisterGreeterServer方法注册,这样客户端远程调用的服务就可以实现业务功能了:

func RegisterGreeterServer(s *grpc.Server, srv GreeterServer) {

s.RegisterService(&_Greeter_serviceDesc, srv)

}

type GreeterServer interface {

// 具体的远程服务方法

SayHello(context.Context, *HelloRequest) (*HelloReply, error)

}

  1. 借助GoLand的Structure面板,可以进一步观察helloworld.pb.go:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值