Files
deep_go/homework/05.md
2025-05-23 07:54:04 +03:00

2.0 KiB
Raw Permalink Blame History

Домашнее задание №5

📗 В домашнем задании нужно реализовать функции Map, Filter и Reduce.

  1. Реализуйте функцию func Map(data []int, action func(int) int) []int, которая принимает функцию action и срез данных data. Функция Map должна применить функцию action к каждому элементу среза data и вернуть новый срез с результатами.

  2. Реализуйте функцию func Filter(data []int, action func(int) bool) []int, которая принимает функцию action и срез данных data. Функция Filter должна вернуть новый срез, содержащий только те элементы data, для которых функция action возвращает true.

  3. Реализуйте функцию func Reduce(data []int, initial int, action func(int, int) int) int, которая принимает функцию action (функцию двух аргументов), срез данных data и начальное значение initial. Функция Reduce должна применить функцию action к каждому элементу data и начальному значению initial, накапливая результат.

📌 Для выполнения домашнего задания подготовлен шаблон кода и основные тесты, которую помогут проверить корректность реализации конвертации. Шаблона доступен по ссылке.

Задание со звездочкой

Выполнять необязательно, но если вы уже знакомы c дженериками в Go, то попробуйте реализовать обобщенные функции Map, Filter и Reduce.