Here is a protobuf message definition:
message People {
enum PeopleName {
Alice = 100;
Bob = 101;
Cathy = 102;
}
optional PeopleName name = 1;
}
I would like to populate the name field based on some strings I created. E.g. in golang:
str := "Cathy"
How can I populate the "name" in the protobuf message?
The Go protobuf generator emits a map of enum names to values (and vice versa). You can use this map to translate your string to enum value:
str := "Cathy"
value, ok := People_PeopleName_value[str]
if !ok {
panic("invalid enum value")
}
var people People
people.Name = People_PeopleName(value)