在 Rust 中使用 & 符号

Muhammad Adil 2022年6月15日
在 Rust 中使用 & 符号

Rust 是一种强调安全性和速度的系统编程语言。编译器会捕获代码中的常见错误,这意味着调试时间更短,安全问题也更少。

除了这些特性之外,Rust 还具有一个 & 符号 (&) 特性,它可以使任何变量在代码中的任何位置可变或不可变。

在 Rust 中使用 & 符号 (&) 创建可变或不可变变量

当你使用 & 符号 (&) 时,它会转换为引用。这里的关键思想是,如果我们将引用变量作为参数发送给函数,则该函数将采用引用参数。

如果不使用 & 符号 (&),你会注意到编译时错误。

可变性的概念

在 Rust 中,& 符号 (&) 表示不可变引用,可变 & 符号 (&mut) 表示可变引用。

在使用引用时,理解 Rust 中的可变性概念非常重要。Rust 的许多安全保证都是基于可变引用和不可变引用之间的这种区别。

可以改变和重新分配可变的&符号,而无需使用指针或引用。这提供了一种更有效的方式来处理突变,因为它消除了对许多显式复制和移动的需要。

让我们讨论一个例子。

fn main() {
    let mut x = 6;
    {
        let y = &mut x;
        *y -=2;
    }
    println!("A number is {}", x);
}

输出:

A number is 4

如果我们在上面的例子中没有应用 mut,下面的行将无法执行。如果我们在开始时没有使用 mut 关键字来构造变量,程序会抛出异常。

我们试图从不可变变量中获取可变引用。

还有一个重要的因素需要考虑:你只能有一个可变的参考。因此,你无法构造大量可变引用。

点击这里查看上述代码的演示。

Muhammad Adil avatar Muhammad Adil avatar

Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.

Facebook