为什么在下面的BufRead
声明中必须包含Write
和use
?
use std::io::{self, BufRead, Write};
fn main() -> io::Result<()> {
let stdin = io::stdin();
for line in stdin.lock().lines() {
io::stdout().write(line.unwrap().as_bytes())?;
}
Ok(())
}
从文档中我了解到use
基本上为您提供了一种引用名称的捷径,但是这里Write
尤其是BufRead
并没有直接在代码中使用。 write
看起来像是一种对任何io::stdout()
返回的方法,并且代码中根本没有提到BufRead
。
如何弄清楚哪些use
声明是必需的规则?