012 Rust死灵书之分解借用
介绍
本系列录制的视频主要放在B站上Rust死灵书学习视频
Rust相关的源码资料在:github.com/anonymousGiga
笔记内容
Rust的借用检查非常的简单,如下:
//以下代码可以运行
struct Foo {
a: i32,
b: i32,
c: i32,
}
let mut x = Foo {a: 0, b: 0, c: 0};
let a = &mut x.a;
let b = &mut x.b;
let c = &x.c;
*b += 1;
let c2 = &x.c;
*a += 10;
println!("{} {} {} {}", a, b, c, c2);
但是,如果是数组或者slice,则对元素mut则会报错:
let mut x = [1, 2, 3];
let a = &mut x[0];
let b = &mut x[1];
println!("{} {}", a, b);
那么,如何解决喃?
使用非安全代码。
本作品采用《CC 协议》,转载必须注明作者和本文链接