我正在阅读《Rust编程之道》的第二章,其中有一些我不理解的内容吸引了我的注意:
在代码的第5行,它声明了一个可变变量,使用
如果变量在一开始就被定义为可变的,那么为什么我们要再次使用
如果变量定义了类型,那么当我们使用引用时,类型(
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);
}
在代码的第5行,它声明了一个可变变量,使用
let mut guess = String::new()
,但是在下一行中,read_line()
的参数也有mut
关键字。如果变量在一开始就被定义为可变的,那么为什么我们要再次使用
mut
而不是像这样使用引用:io::stdin().read_line(&guess).expect("Failed to read line");
如果变量定义了类型,那么当我们使用引用时,类型(
mut
)默认存在吗?
&mut guess
而不是&guess
。(第4章会更彻底地解释引用。) - HFBrowning