Задача · Функции как значения · урок 9 из 12
Задача: фильтр
Напишите функцию func filter(nums []int, keep func(int) bool) []int. Она возвращает новый срез из тех элементов nums, для которых keep возвращает true, в прежнем порядке. В примерах isEven и isPositive — функции из файла с тестами: первая проверяет, что число чётное, вторая — что оно больше нуля.
filter([]int{1, 2, 3, 4, 5, 6}, isEven)→[2 4 6]filter([]int{-3, 0, 7, -1}, isPositive)→[7]filter([]int{1, 3}, isEven)→[]
Ограничения: в nums от 0 до 1000 элементов, и nums может быть пустым или nil; если ни один элемент не подходит, результат пустой; сам срез nums функция не меняет.
Не добавляйте лишних импортов, если в задаче это прямо не сказано.
Подпишись, чтобы пройти курс
Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.