有了这code on the rust playground个:
fn main() {
let a = &[1, 2, 3];
let mut o = a.to_owned();
let mut c = a.clone();
let mut d = *a;
o[0] = 7;
c[0] = 8;
d[0] = 9;
println!("o: {:?}", o);
println!("c: {:?}", c);
println!("d: {:?}", d);
println!("a: {:?}", a);
}
我明白了:
o: [7, 2, 3]
c: [8, 2, 3]
d: [9, 2, 3]
a: [1, 2, 3]
这三种方法都克隆了a
的内容.
有什么不同吗?