Разница между глубоким и мелким копированием в Golang заключается в том, что при глубоком копировании создаётся полностью отдельная копия исходных данных, а при мелком — новая ссылка на те же базовые данные. 4
Глубокое копирование предполагает создание независимой копии исходных данных, изменения в которой не влияют на исходные данные. 4 Для его выполнения в Golang нужно вручную скопировать каждый элемент массива или фрагмента. 4
Мелкое копирование, в свою очередь, создаёт новую ссылку на те же базовые данные, изменения в мелкой копии влияют на исходные данные. 4 Чтобы выполнить мелкое копирование в Golang, достаточно просто присвоить один массив или фрагмент другому. 4
Для некоторых типов данных глубокое копирование по умолчанию, для других — мелкое. 1