gpt4 book ai didi

rust - 如何在遍历 Vector 时从字符串复制字符串?

转载 作者:行者123 更新时间:2023-11-29 08:10:33 24 4
gpt4 key购买 nike

我正在努力了解所有权和借用检查器。我遇到了一个我设法“解决”的问题,但我认为应该有一种更符合人体工程学的方法来解决这个问题。

以下代码触发了借用检查器,因为我正在尝试移动 file.filepaththisfile_path而它是在借用的上下文中。

for file in &self.filelist {
let thisfile_path = String::from(file.filepath);
let this_wd = self.notifier.add_watch(Path::new(&file.filepath), watch_mask::CLOSE_WRITE).unwrap();
let this_watch = Watchlist {configfile: thisfile_path, watchd: this_wd};
watches.push(this_watch);
}

&self.filelistVec<ConfigFiles>其中 ConfigFiles 是 struct .

我正在遍历 filelist ,我想将一个字段从 ConfigFiles 结构复制到一个新的 Vec .

如果我用 let thisfile_path = String::from(&file.filepath);它不起作用,因为未为 &String 实现特征转换.

我找到了一个解决方法,但我认为这不是理想的方法:

let thisfile_path = String::from(&file.filepath[..]);

这是我解决这个问题的唯一方法吗?

最佳答案

std::string::String 实现了 clone() method ,因此您可以使用以下方法以更直接的方式实现相同的目的:

let thisfile_path = file.filepath.clone();

关于rust - 如何在遍历 Vector 时从字符串复制字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45275362/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com