Как работает append в слайсе?
Функция append в слайсе увеличивает его длину и может изменить его ёмкость (capacity) для добавления новых элементов.
Когда мы используем функцию append для добавления элементов в слайс, происходит следующее:
1. Если вместительности слайса хватает для добавления нового элемента, то элемент просто добавляется в конец слайса.
2. Если вместительности недостаточно, то создается новый массив с увеличенной ёмкостью (обычно удвоенной), все существующие элементы копируются в новый массив, и только потом добавляется новый элемент. При этом исходный слайс указывает на новый массив.
Например, если у нас есть слайс s := []int{1, 2, 3}, и мы добавляем в него элемент 4 с помощью s = append(s, 4), то если текущая ёмкость не позволяет добавить новый элемент, произойдет копирование элементов в более большой массив, и s будет указывать уже на новый массив
Отметьте свой прогресс