如何借用Rust中的可变与不可变?

问题描述 投票:0回答:1

我已经阅读了以下文档:https://doc.rust-lang.org/rust-by-example/scope/borrow/mut.html

我也已经阅读了这个问题:(Cannot borrow immutable borrowed content as mutable


文档帮助我了解了如何将借款声明为可变的(我认为::

let mut (part1, part2) = someTuple;

但是我还无法找到明确的说明,以了解如何将借款视为一成不变。这是我的猜测:

let (part1, part2) = someTuple;

[我知道这是一个非常基本的问题,但是在Google搜索中,我将其带入了深入的解释范围,而我仍在尝试在最简单的情况下了解我的方向。

我如何在Rust中借用可变的而不是不变的?

rust mutable borrowing
1个回答
1
投票
let x = 0;
let immutable_borrow = &x; //borrow as immutable

let mut y = 1;
let mutable_borrow = &mut y; //borrow as mutable

注1:您可以在同一范围内借用不可变或可变的变量,这意味着您不能这样做:

let mut x = 0;
let immutable_borrow = &x;
let mutable_borrow = &mut x;

注2:您可以无休止地无休止地借用一个变量,但是您只能一次可变地借用一个变量。

//You can do this
let x = 0;
let x1 = &x;
let x2 = &x;
//...

//But you can't do this
let mut y = 0;
let y1 = &mut y;
let y2 = &mut y; //won't compile
© www.soinside.com 2019 - 2024. All rights reserved.