Keyword mut[−][src]
Expand description
可变变量,引用或指针。
mut
可以在几种情况下使用。
第一个是变量变量,它可以在可以将值绑定到变量名称的任何地方使用。一些例子:
// 函数的参数列表中的可变变量。 fn foo(mut x: u8, y: u8) -> u8 { x += y; x } // 修改可变变量。 let mut a = 5; a = 6; assert_eq!(foo(3, 4), 7); assert_eq!(a, 6);Run
第二个是可变引用。
它们可以从 mut
变量创建,并且必须唯一: 其他变量不能具有变量引用,也不能具有共享引用。
// 采取可变引用。 fn push_two(v: &mut Vec<u8>) { v.push(2); } // 可变引用不能用于非可变变量。 let mut v = vec![0, 1]; // 通过可变引用。 push_two(&mut v); assert_eq!(v, vec![0, 1, 2]);Run
ⓘ
let mut v = vec![0, 1]; let mut_ref_v = &mut v; #[allow(unused)] let ref_v = &v; mut_ref_v.push(2);Run
可变裸指针的工作方式与可变引用非常相似,但有可能无法指向有效的 object。
语法为 *mut Type
。
可以在 Reference 中找到更多关于资源 0 引用和指针的信息。