3个版本 (破坏性更新)

使用旧Rust 2015

0.3.0 2023年1月4日
0.2.0 2018年2月14日
0.1.0 2018年2月10日

#1257Rust模式

Download history 840/week @ 2024-04-20 765/week @ 2024-04-27 777/week @ 2024-05-04 845/week @ 2024-05-11 577/week @ 2024-05-18 427/week @ 2024-05-25 697/week @ 2024-06-01 436/week @ 2024-06-08 674/week @ 2024-06-15 1488/week @ 2024-06-22 1602/week @ 2024-06-29 1643/week @ 2024-07-06 1948/week @ 2024-07-13 1313/week @ 2024-07-20 1138/week @ 2024-07-27 1527/week @ 2024-08-03

6,348 每月下载量
用于 7 个crate (2 直接)

MIT 许可证

5KB

slice-copy

Build Status Crates.io Documentation

切片的Go风格复制。在您更愿意使用复制的数量来调整切片,而不是确定要复制的数量、调整切片并最终复制的情况下。

use slice_copy::copy;

let mut l = b"hello".to_vec();
let r = b"goodbye".to_vec();

let n = copy(&mut l, &r);

assert_eq!(n, 5);
assert_eq!(l, b"goodb");

lib.rs:

本crate提供Go风格复制/克隆切片。

本crate适用于更易于根据复制的元素数量调整切片的情况,而不是在调整切片之前确定要复制的数量。

示例

我们可以为实现了 Copy trait的类型使用 copy

use slice_copy::copy;

let mut l = b"hello".to_vec();
let r = b"goodbye".to_vec();

let n = copy(&mut l, &r);

assert_eq!(n, 5);
assert_eq!(l, b"goodb");

类似地,我们可以为实现了 Clone trait的类型使用 clone

use slice_copy::clone;

let mut l = b"foobarbaz".to_vec();
let r = b"biz".to_vec();

let n = clone(&mut l, &r);

assert_eq!(n, 3);
assert_eq!(l, b"bizbarbaz");

无运行时依赖