caches struct info
var validate *validator.Validate
А это
func main() {
validate = validator.New()
Если оба участка из твоего кода, то объявление глобального валидатора излишне.
Лучше сделать сокращённое объявление с присваиванием.
От глобовального объекта не будет профитов в этом случае. Иначе это лучше делать не в пакете main
https://github.com/go-playground/validator/blob/master/_examples/simple/main.go
Понял. Было бы прозрачнее эти кишки разнести по пакетам. Это “условный” пример, как работает, но реальное приложение лучше разбить.
Объясни нафига они ее объявляют перед main(), в чем тут профит?
Чтобы показать, что к ней имеют доступ из нескольких функций, чтобы cache сработал.
Понял, огромное спасибо!
Если объявить в main, то нужно “перегружать” сигнатуры функций. Это как с WaitGroup. Вроде хорошо его по ссылке передавать в функции, но объявить в более широкой области видимости и замыкаться на него руки чешутся.
Сейчас смотрю на это - все тривиально, в любом языке +- так. Что-то я совсем... Еще раз спасибо!
Обсуждают сегодня