Хочу у себя в приложении модельку, которая так же будет использоваться для валидации входных параметров и генерации форм. Для примера, имеется структура:
type User struct {
Name string `params:"minlength=2,maxlength=32,required"`
Age int `params:"min=13,max=150"`
GPA float64 `params:"min=1,max=4.0"`
}
Проблема в том, что тэги полей (см. `...`) - это обычный string (хотя, наверное, было бы круто, если бы они имели чуть больше общего с java annotations). Стало быть, при таком подходе статической типизации и compile time проверки их корректности не будет, что не очень хорошо.
Как вариант, можно проверять всё это при запуске программы и заваливаться с panic, если параметры неверные. Т.е. по принципу fail early. Но насколько это канонично и golang вэйно?