go-micro客户端取不到服务端响应的数据

发布于 2022-09-12 01:43:34 字数 681 浏览 21 评论 0

go-micro使用的是v2版本

proto文件:

syntax="proto3";

package pb;

message Response {
    string id=1;
    string name=2;
}
...

服务端的方法:

type Say struct {}

func (s *Say) Hello(_context.Context, in *pb.Request,out *pb.Response) error {
    fmt.Println(in)//客户端请求时这里能正常输出请求的数据
    
    //这样写,客户端取不到数据
    /*
    out = &pb.Response{
        Id: "111",
        Name: "张三",
    }
    */
    
    //这样写,客户端能取到数据
    out.Id = "111"
    out.Name = "张三"
    
    return nil
}
直接用结构给响应赋值,客户端取不到数据

而为每个字段单独赋值,客户端就可以取到数据

这是为什么呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

金橙橙 2022-09-19 01:43:34

注释的代码改的是形参吧,实际上对原来的out指向的数据并没有修改

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文