3个版本 (破坏性更新)
使用旧Rust 2015
0.3.0 | 2023年1月4日 |
---|---|
0.2.0 | 2018年2月14日 |
0.1.0 | 2018年2月10日 |
#1257 在 Rust模式
6,348 每月下载量
用于 7 个crate (2 直接)
5KB
slice-copy
切片的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");