Golang. Функции в качестве параметров и результата
Прошу объяснить мне как это работает на конкретном примере.
// validator проверяет строку на соответствие некоторому условию
// и возвращает результат проверки
type validator func(s string) bool
// and возвращает валидатор, который проверяет, что все
// переданные ему валидаторы вернули true
func and(funcs ...validator) validator {
// ...
}
Что должно быть в функции and и почему? Хочется понять как такие конструкции работают. Заранее благодарю за помощь.
Ответы (1 шт):
Автор решения: Александр Усольцев
→ Ссылка
func and(funcs ...validator) validator {
// ...
return func(s string) bool {
for _, f := range funcs {
if f(s) == false {
return false
}
}
return true
}
}