Встроенная функция copy копирует элементы в целевой срез dst из исходного среза src.
func copy(dst, src []Type) int
Возвращает количество скопированных элементов, которое будет минимумом len(dst) и len(src). Результат не зависит от того, перекрываются ли аргументы.
Как особый случай, законно копировать байты из строки в срез байтов.
copy(dst []byte, src string) int
Примеры использования copy
Копировать из одного среза в другой
var s = make([]int, 3)
n := copy(s, []int{0, 1, 2, 3})
// n == 3, s == []int{0, 1, 2}
Скопировать из среза в сам срез
s := []int{0, 1, 2}
n := copy(s, s[1:])
// n == 2, s == []int{1, 2, 2}
Копировать из строки в байтовый срез (особый случай)
var b = make([]byte, 5)
copy(b, "Hello, world!")
// b == []byte("Hello")
Читайте также:
- Массивы, срезы и строки: механика работы append в Golang
- Срезы в Golang: внутреннее устройство и использование
- Как добавить что-либо (элемент, срез или строку) к срезу в Golang
- Спецификация Go: добавление в срезы и копирование срезов
Комментариев нет:
Отправить комментарий