Module std::clone 1.0.0[−][src]
Expand description
不能隐式复制的类型的 Clone
trait。
在 Rust 中,一些简单类型是 “implicitly copyable”,当您分配它们或将它们作为参数传递时,接收者将获得一个副本,而将原始值保留在原位。
这些类型不需要分配就可以复制并且没有终结器 (即,它们不包含拥有的 boxes 或实现 Drop
),因此编译器认为它们便宜且安全地进行复制。
对于其他类型,必须通过约定实现 Clone
trait 并调用 clone
方法来显式复制。
基本用法示例:
let s = String::new(); // 字符串类型实现克隆 let copy = s.clone(); // 所以我们可以克隆它Run
要轻松实现 Clone trait,还可以使用 #[derive(Clone)]
。Example:
#[derive(Clone)] // 我们将克隆 trait 添加到 Morpheus 结构体 struct Morpheus { blue_pill: f32, red_pill: i64, } fn main() { let f = Morpheus { blue_pill: 0.0, red_pill: 0 }; let copy = f.clone(); // 现在我们可以克隆它了! }Run
Macros
Clone | 派生宏,生成 trait |
Traits
Clone | 通用的 trait,用于显式复制对象。 |