Объясните разницу между слайсом и массивом. Как работает append?
У массива фиксированная длина, входящая в его тип, и он копируется по значению. Слайс — это заголовок с указателем на подлежащий массив, длиной и ёмкостью, поэтому при передаче копируется только заголовок. append пишет в свободную ёмкость, если место есть; иначе выделяет больший массив и копирует, из-за чего возвращённый слайс может больше не разделять память с исходным — и поэтому результат append всегда нужно присваивать.