如何从RPC调用返回空字符串?

时间:2016-02-13 00:12:15

标签: go rpc

我有一个RPC系统,其中用于结果的接口如下:

type ValReply struct {
    Val string 
}

有时,我的RPC会将reply.Val设置为""(空字符串)。在这些情况下,reply.Val中的先前值不会被覆盖,客户端将使用不正确的结果。

如何让RPC调用返回空字符串?

我已经搜索了这个问题,我找不到任何关于不在RPC API中返回空字符串的内容。

1 个答案:

答案 0 :(得分:1)

"" (空字符串)通常由库(数据库,rpc,json)解释为默认值,只是被忽略。

要获得对nil和""的更多控制权,请将rpc签名更改为:

type ValReply struct {
    Val *string 
}

然后该库将区分空,等等。