gpt4 book ai didi

syntax - 让 &mut 语法

转载 作者:行者123 更新时间:2023-11-29 07:43:20 24 4
gpt4 key购买 nike

可以在 Rust 中进行以下绑定(bind):

let &mut a = &mut 5;

但这到底是什么意思呢?例如,let a = &mut 5 创建一个类型为 &mut i32 的不可变绑定(bind),let mut a = &mut 5 创建一个类型为可变的绑定(bind)&mut i32let &mut 怎么样?

最佳答案

测试某物类型的一种简单方法是将其分配给错误的类型:

let _: () = a;

在这种情况下,该值是一个“整数变量”,或按值整数。它是不可变的(如使用 a += 1 进行的测试所示)。

这是因为您正在使用解构语法。你正在将你的 &mut 5&mut _ 进行模式匹配,就像你写的一样

match &mut 5 { &mut a => {
// rest of code
} };

因此您正在添加一个可变引用并立即取消引用它。

要将可变引用绑定(bind)到一个值,您可以这样做

let ref mut a = 5;

这在解构中很有用,可以引用多个内部值。

关于syntax - 让 &mut 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31298802/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com