读取 Rust 中的行

5 implementation input rust

如此实施该方法的原因是什么io::stdin().read_line(&mut input)?为什么不直接返回带有适当错误或输入的结果呢?为什么要通过&mut input?这种方法有什么优点吗?

Ing*_*ngo 0

我相信这与读取行的位置有关:在堆上,或者可能在调用者的堆栈上,或者调用者希望它在的任何地方。

请注意,函数无法返回对其自身堆栈上的值的引用,因为该值的生存时间不够长。因此,唯一的其他选择是将其分配在堆上或复制整个内容,从调用者的角度来看,这两种选择都是不可取的。

(请考虑到我自己是一个 Rust 初学者,所以这个答案可能是完全错误的。在这种情况下,我准备删除它。)