Rust 中返回值的范围是什么?



变量引用的数据返回给调用方时会发生什么情况?当数据被销毁并可能执行丢弃特征时?

似乎你可以(为什么不呢?

use std::io::File;
fn open_file(path: &Path) -> File {
  let file = File::open(path).unwrap() ;
  file
}

fn main() {
  let path = Path::new("hello.txt");
  let mut file = open_file(&path);
  let str =  file.read_to_string().unwrap();
  println!("Contents of {}:n{}n", path.display(), str);
}

当我写这个问题时,我不了解 Rust 中数据的生命周期。返回值会导致数据的所有权移动到调用方分配的变量。微不足道,但是当我写问题时,我刚刚开始尝试这种语言:)

相关内容

  • 没有找到相关文章

最新更新