2024-06-23 02:36:38 发布
网友
我的protobuf中有一个重复字段,它对调用者公开。我想知道是调用者显式地将其设置为空列表,还是该字段根本没有设置。在
HasField方法不适用于重复的字段,因此我尝试使用ListFields方法枚举所有的集合字段。不幸的是,不管我是否message.repeated_字段.extend([])“或根本不设置字段,则该字段不会显示在ListFields()中。在
是否有可能区分重复字段被设置为空与未设置全部?如果是这样的话,任何建议都会有帮助。在
我所看到的一切都表明不可能区分空的重复字段和未设置的重复字段。在
我是这样解决的:
message NameList { repeated string names = 1; } message SomeResponse { optional NameList names = 1; }
然后当您想发送一个空列表时,只需初始化NameList字段。在
NameList
我所看到的一切都表明不可能区分空的重复字段和未设置的重复字段。在
我是这样解决的:
然后当您想发送一个空列表时,只需初始化
NameList
字段。在相关问题 更多 >
编程相关推荐