поле field.
Я к нему могу получить доступ напрямую (req.Field) и через метод Get (req.GetField()).
В первом случае я получаю, допустим *string, а во втором - string.
Получается, если клиент опускает необязательное поле, то в первом случае я получаю nil, во втором - "". Это критично, например, при подстановке данных в SQL.
Расскажите, для чего нужны эти методы Get? В каких случаях нужно обращаться к полям напрямую, а в каких через Get методы?
если поле nullable то есть вот такая вещь, встраивается в прото https://pkg.go.dev/google.golang.org/protobuf/types/known/wrapperspb
Я уже внутри хранилища sql.NullString заюзал
не могу найти внятного описания
https://habr.com/ru/companies/otus/articles/546182/
Про google.protobuf.NullValue понял, а про wrapperspb - нет ))))
когда прото файлы сгенеришь с этим типом, то гошный тип в сгенеренных файлах у тебя будет от либы wrapperspb
Обсуждают сегодня