Если есть какой-либо чистый способ проверить, не указано ли какое-либо значение поля struct
, nil
?Проверьте, нет ли какого-либо поля структуры nil
Пусть я есть
type test_struct struct {
Name string `json:"name" binding:"required"`
Email string `json:"email" binding:"required"`
Message string `json:"message" binding:"required"`
}
И с Gin
я наполнении struct
со значениями в
var temp test_struct
c.Bind(&temp)
И все работает отлично, но я хочу, чтобы проверить, все ли temp.Name
, temp.Email
, temp.Message
это nil
, конечно, мы можем проверить это, просто сравнивая каждое поле с nil
: if temp.Name == nil
и так далее, но я ищу чистый er версия этого, есть ли какие-нибудь?
UPD: Из-за недостатка знаний в Go
языка я не знал, что Bind
функция gin
пакета возвращает ошибку, если мы передаем strucure с binding:"required"
полями. Спасибо @ matt.s, я понял. Таким образом, ответ должен был бы проверить err
:
var temp test_struct
err := c.Bind(&temp)
if err != nil {
// Do my stuff(some of fields are not set)
}
Строки не могут быть пустыми. –