Метод copy_from_slice
Метод copy_from_slice копирует все элементы из исходного среза
в целевой срез. Параметром метод принимает срез, из которого нужно
скопировать элементы. Длина исходного среза должна совпадать
с длиной целевого среза, иначе программа запаникует.
Метод изменяет целевой срез и не возвращает значения.
Синтаксис
slice.copy_from_slice(src)
Пример
Давайте скопируем элементы из одного массива в другой:
fn main()
{
let src = [1, 2, 3, 4, 5];
let mut dst = [0, 0, 0, 0, 0];
dst.copy_from_slice(&src);
println!("{:?}", dst);
}
Результат выполнения кода:
[1, 2, 3, 4, 5]
Пример
Давайте скопируем часть одного вектора в другой вектор:
fn main()
{
let src = vec![1, 2, 3, 4, 5];
let mut dst = vec![0, 0, 0];
dst.copy_from_slice(&src[1..4]);
println!("{:?}", dst);
}
Результат выполнения кода:
[2, 3, 4]
Пример
Давайте скопируем элементы из одного среза строк в другой:
fn main()
{
let src = ["a", "b", "c", "d", "e"];
let mut dst = ["", "", "", "", ""];
dst.copy_from_slice(&src);
println!("{:?}", dst);
}
Результат выполнения кода:
["a", "b", "c", "d", "e"]
Смотрите также
-
метод
clone_from_slice,
который клонирует элементы из одного среза в другой -
метод
fill,
который заполняет срез указанным значением -
метод
swap_with_slice,
который обменивает элементы двух срезов -
метод
to_vec,
который создает вектор из элементов среза