我对 Rust 语言中的“mut”用法有疑问。
use std::io;
fn main() {
println!("Guess the number!");
println!("Please input your guess.");
let mut guess = String::new();
io::stdin()
.read_line(&mut guess)
.expect("Failed to read line");
println!("You guessed: {}", guess);
}
当变量guess已经声明为“mut”时,为什么我们应该在对read_line()的函数调用中再次用“mut”对其进行限定?
最佳答案
.read_line
需要可变引用,因此您必须创建变量的 &mut
。
请注意,let mut Guess = String::new();
创建了一个拥有字符串的变量。 .readline
想要更改字符串的内容而不获取所有权。这样您在函数调用后仍然可以使用猜测。如果您将 guess
直接传递给该函数,那么之后您将无法对其执行任何操作。因此,您需要首先创建一个可变引用,您可以将其传递给 .readline
。
关于rust - Rust 中 'mut' 关键字的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60445787/