:= make([]int, 0, 5)
c := cap(scores)
fmt.Println(c)
for i := 0; i < 25; i++ {
scores = append(scores, i)
if cap(scores) != c {
c = cap(scores)
fmt.Println(c)
}
}
}
Собсно вопрос, почему увеличение идёт 10 20 40?
потому что стандартный подход гошечки - увеличивать вдвое слайс при переполнении
аллокация памяти и копирование данных это не очень дешево. Стандартный подход подобных структур - увеличивать их в энное колличество раз
Обсуждают сегодня