Такая особенность у аппендров есть, да. Тут банальный вопрос: известна ли вам заранее длина слайса? Если да, то будем выделять памяти столько, сколько нужно.
Если же нет, то вам нужно выбрать стратегию, по которой память под массив будет переаллоцироваться. Разработчики Go выбрали вариант увеличения памяти в 2 раза (редко не в 2). В большинстве случаев такая стратегия эффективна. Аллоцировать память для каждого нового элемента большого слайса выглядит сомнительным вариантом, поэтому не очень понятно, о каком "кастомном append'е" идет речь
Да, почти сразу, после публикации разбили код по разделам. Теперь кодогенератор нужно допиливать
Такая особенность у аппендров есть, да. Тут банальный вопрос: известна ли вам заранее длина слайса? Если да, то будем выделять памяти столько, сколько нужно.
Если же нет, то вам нужно выбрать стратегию, по которой память под массив будет переаллоцироваться. Разработчики Go выбрали вариант увеличения памяти в 2 раза (редко не в 2). В большинстве случаев такая стратегия эффективна.
Аллоцировать память для каждого нового элемента большого слайса выглядит сомнительным вариантом, поэтому не очень понятно, о каком "кастомном append'е" идет речь