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 协议》,转载必须注明作者和本文链接
令狐一冲
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!