如何解决我应该使用 Get 方法来获取值还是应该直接使用字段?
我第一次在 Go 中使用 protobuf(和 protoc)。
message MyProtoStruct {
string description = 1;
}
我有点困惑:
-
我应该使用方法来获取值(如
MyProtoStruct.GetDescription()
)还是 -
我是否应该直接使用字段(例如
MyProtoStruct.Description
)?
解决方法
你可以使用任何一个。请注意,对于 proto2 生成的代码而不是 proto3(proto2 是默认值),协议缓冲区消息中的字段始终是指针。在这种情况下,如果字段为 nil,则 getter 返回零值。这非常方便,因为很难编写直接使用字段的代码,而不会在缺少字段时导致 nil 指针取消引用。
在 proto3 生成的代码中(我建议您使用,原因不止一个),我建议您直接使用字段。在 proto2 生成的代码中,我建议使用 get 方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。