Я относительно новичок, и я ищу приблизительный эквивалент (библиотека или реализация) метода индекса мультикарты guava. Он работает следующим образом
Это должно сделать следующее:
Учитывая фрагмент структур, создайте карту из общего значения в массивы записей, которые разделяют это значение. Например:
Repetition struct {
ID int
Days int
Category string
}
reps := []Repetition{
Repetition{ID: 1, Day: 0, Category: "strength"},
Repetition{ID: 2, Day: 0, Category: "aerobic"}
Repetition{ID: 3, Day: 1, Category: "strength"}
Repetition{ID: 4, Day: 1, Category: "aerobic"}
}
result = indexByDay(reps)
где результат:
map[int][]Repetition{
0: []Repetition{Repetition{ID: 1, Day: 0, Category: "strength"}, Repetition{ID: 2, Day: 0, Category: "aerobic"}},
1: []Repetition{Repetition{ID: 3, Day: 1, Category: "strength"}, Repetition{ID: 4, Day: 1, Category: "aerobic"}}
}
Вопрос в том, существуют ли какие-либо встроенные или существующие библиотеки, которые имеют методы, такие как indexByDay (каким-то образом достаточно универсальным, чтобы быть кодом библиотеки?)
Извиняюсь, если мой литерал карты смешно некорректен. Я все еще плохо знаком с языком.