Collection struct {
foo string
bar int
}
func main() {
collect := make(map[string][]Collection)
list := []Collection{
{"first", 200},
{"first", 250},
{"first", 340},
{"second", 870},
{"first", 600},
{"second", 430},
{"second", 650},
{"second", 910},
}
for _, l := range list {
collect[l.foo] = append(collect[l.foo], l)
}
fmt.Println(collect)
}
у вас не один срез, много таковых +1 элемнтом
никак, без цикла же не известны длины []Collection в мапе итоговые можно конечно еще одним циклом пройтись по list b собрать инфу, накинув в мапу пустые слайсы с итоговой длинйо (если вопрос чисто теоретический)
Обсуждают сегодня