在 Rust 中,可变性是指数据是否可以被修改的特性。Rust 中的默认行为是不可变的,这意味着一旦值被绑定到一个变量上,就不能再更改这个值。然而,通过使用 mut 关键字,可以创建可变变量和可变引用,使得数据可以被修改。

可变变量:

使用 let mut 关键字声明一个可变变量:
fn main() {
    let mut x = 5;
    println!("The value of x is: {}", x);

    x = 10;  // 变量 x 是可变的,可以被修改
    println!("The value of x is now: {}", x);
}

在上述例子中,x 是一个可变变量,可以在声明后重新赋值。

可变引用:

使用 &mut 关键字创建可变引用:
fn main() {
    let mut s = String::from("Hello");
    modify_string(&mut s);
    println!("Modified string: {}", s);
}

fn modify_string(s: &mut String) {
    s.push_str(", Rust!");
}

在上述例子中,modify_string 函数接受一个可变引用 &mut String,允许修改传递进来的字符串。在调用该函数时,需要确保没有其他可变引用或不可变引用同时存在,以避免数据竞争。

可变性是 Rust 中强大的概念之一,它允许在保持内存安全性的同时进行灵活的数据修改。 Rust 的所有权系统和可变性一起,为开发者提供了强大而安全的工具。


转载请注明出处:http://www.zyzy.cn/article/detail/6793/Rust