добавлении нескольких эл.?
При одиночном он сперва растет x2 до 256, затем плавно спускается до 1.25
Но при массовом len увеличивается на кол-во добавляемых эл +1 или +2
for i := 1; i <= 50; i++ {
sl := make([]int, i, i)
for j := 1; j <= 50; j++ {
sj := make([]int, j, j)
res := append(sl, sj...)
fmt.Println("i:", i, "; j:", j, " len:", len(res), " cap:", cap(res))
}
fmt.Println("\n\n")
}
Пытаюсь понять по какой логике это +1 или +2 происходит
https://youtu.be/10LW7NROfOQ?si=pNXxMPJPagK4XaSH
Тут нету про этот случай, уже расковырял nextslicecap функцию (используется growslice для определения нового размера), но оно про x2 и 1.25 увеличение, т.к. про стандартный flow
Ну найдешь если, напиши, чтоб мы тоже знали)
код же аппенда есть. Там он элементарный. Легче всего будет его глянуть
Обсуждают сегодня