Tag: 寿命

有没有办法返回一个函数中创build的variables的引用?

我想写一个程序,将分两步写一个文件。 在程序运行之前文件可能不存在。 文件名是固定的。 问题是OpenOptions.new().write()可能会失败。 在这种情况下,我想调用一个自定义函数trycreate() 。 这个想法是创build文件,而不是打开它,并返回一个句柄。 由于文件名是固定的, trycreate()没有参数,我不能设置返回值的生命周期。 我该如何解决这个问题? use std::io::Write; use std::fs::OpenOptions; use std::path::Path; fn trycreate() -> &OpenOptions { let f = OpenOptions::new().write(true).open("foo.txt"); let mut f = match f { Ok(file) => file, Err(_) => panic!("ERR"), }; f } fn main() { { let f = OpenOptions::new().write(true).open(b"foo.txt"); let mut f = match f […]