Что делает функция copy?

Junior
1.2k просмотров
AFK Offer AI

copy(dst, src) копирует элементы из src в dst, возвращает количество скопированных элементов = min(len(dst), len(src)). Не аллоцирует — копирует в существующий слайс.

src := []int{1, 2, 3}
dst := make([]int, 3)
n := copy(dst, src) // n = 3

// Копирование части copy(dst, src[1:]) // dst = [2, 3, 3]

Слайсы могут пересекаться — copy корректно обрабатывает overlapping. Также работает для копирования строки в []byte: copy(buf, "hello").

Следующий вопрос

Какие паттерны проектирования знаешь?