Вопрос: Как работает append и когда происходит реаллокация?

Go Junior Без компании
Вопрос: Как работает append и когда происходит реаллокация?
Ответы
append добавляет элементы; если cap хватает — расширяет len, иначе выделяет новый массив и копирует данные. ```go package main import "fmt" func main() { s := make([]int, 0, 2) fmt.Println(len(s), cap(s)) s = append(s, 1, 2) fmt.Println(len(s), cap(s), s) s = append(s, 3) // возможно рост cap fmt.Println(len(s), cap(s), s) } ``` Рост cap — деталь реализации, но в среднем увеличивается ступенчато.