PIPIONE
我建议你使用在谷歌.protobuf包中定义的浮点值类型。例如:syntax = "proto3";import "google/protobuf/wrappers.proto";message Foo { string bar = 1; google.protobuf.FloatValue baz = 2;}将生成一个 pb 文件,其中包含以下内容:type Foo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Bar string `protobuf:"bytes,1,opt,name=bar,proto3" json:"bar,omitempty"` Baz *wrapperspb.FloatValue `protobuf:"bytes,2,opt,name=baz,proto3" json:"baz,omitempty"`}您可以按如下方式使用: f := Foo{ Bar: "Bar", Baz: &wrapperspb.FloatValue{Value: float32(3)}, } var floatValue float32 if f.Baz != nil { floatValue = f.Baz.GetValue() }