问题描述
Prot3文档说,默认情况下,JSON打印机应将字段名称转换为lowerCamelCase并将其用作JSON名称,但我在文件中没有看到这一点:
Lng float32 `protobuf:"fixed32,1,opt,name=Lng,proto3" json:"Lng,omitempty"`
Lat float32 `protobuf:"fixed32,2,name=Lat,proto3" json:"Lat,omitempty"`
message Coordinate {
float Lng = 1;
float Lat = 2;
}
是否存在可以执行此操作的显式语法?我正在使用protoc-gen-go v1.25.0
和protoc v3.13.0
解决方法
我的trial_ends_at
遇到同样的问题。所以我发现解决方案是以变量的名义,您应该将原始消息变量更改为:
Proto
protobuf生成以下内容:
message Coordinate {
float lng = 1;
float lat = 2;
}
如果您有一个多字变量,则应将其更改为:
Lng float32 `protobuf:"fixed32,1,opt,name=lng,proto3" json:"lng,omitempty"`
Lat float32 `protobuf:"fixed32,2,name=lat,proto3" json:"lat,omitempty"`
所以生成的结果将是:
float location_lat = 1;