Задачи на анонимные функции в Go. Часть 2
Сделайте функцию MapInts(nums []int, f func(int) int) []int.
Сделайте функцию FilterInts(nums []int, pred func(int) bool) []int для отбора чётных.
Сделайте функцию ReduceInts(nums []int, init int, f func(int, int) int) int для суммы.
Сделайте функцию Fold с начальным значением и function value.
Используйте sort.Slice с less-функцией для сортировки строк по длине.
Сделайте функцию CountIf[T any](s []T, pred func(T) bool) int.
Реализуйте аналоги any и all через цикл и function value.
Сделайте функцию GroupBy для группировки строк по первой букве.
Сделайте функцию, строящую map[string]int из среза через function value.
Сделайте цепочку map → filter → sum через свои функции.