SetDefaults sets unpopulated scalar fields to their default values. Fields within a oneof are not set even if they have a default value. SetDefaults is recursively called upon any populated message fields.
(m Message)
| 12 | // Fields within a oneof are not set even if they have a default value. |
| 13 | // SetDefaults is recursively called upon any populated message fields. |
| 14 | func SetDefaults(m Message) { |
| 15 | if m != nil { |
| 16 | setDefaults(MessageReflect(m)) |
| 17 | } |
| 18 | } |
| 19 | |
| 20 | func setDefaults(m protoreflect.Message) { |
| 21 | fds := m.Descriptor().Fields() |