Слайс — это структура из трёх полей: указатель на underlying array, длина (len) и ёмкость (cap). Когда создаёшь слайс от слайса — они разделяют один массив, изменения видны обоим. Это важно понимать, иначе можно наступить на баг: sub := s[2:4] модифицирует исходный массив. Если нужна независимая копия — используй copy() или append в новый слайс. Вся магия слайсов — в этих трёх полях.