我有一个RPC系统,其中用于结果的接口如下:
type ValReply struct {
Val string
}
有时,我的RPC会将reply.Val设置为""
(空字符串)。在这些情况下,reply.Val中的先前值不会被覆盖,客户端将使用不正确的结果。
如何让RPC调用返回空字符串?
我已经搜索了这个问题,我找不到任何关于不在RPC API中返回空字符串的内容。
答案 0 :(得分:1)
"" (空字符串)通常由库(数据库,rpc,json)解释为默认值,只是被忽略。
要获得对nil和""的更多控制权,请将rpc签名更改为:
type ValReply struct {
Val *string
}
然后该库将区分空,等等。