我试图找出哪个性能更高:
let array = [1,2,3,4]
array.includes(4)
Run Code Online (Sandbox Code Playgroud)
要么
let str = "1234";
str.includes(4);
Run Code Online (Sandbox Code Playgroud)
并试图通过执行以下方法找到它:
console.time();
let ar = [1,2,3,4,5];
ar.includes(4);
console.timeEnd();
console.time();
let str = "12345";
str.includes("4");
console.timeEnd();
Run Code Online (Sandbox Code Playgroud)
在控制台和页面内的脚本中.当从控制台直接执行时,时间是这样的,array.includes占用的时间最少.从页面执行时,报告的时间使得string.includes花费的时间更少.是什么赋予了?!
我有以下代码:
let display_value = entry.path().display();
files_and_dirs.push(DiskEntry {
path: display_value.to_string(),
is_dir: is_dir(display_value.to_string()),
name: display_value.to_string()
});
Run Code Online (Sandbox Code Playgroud)
如果我这样写:
let display_value = entry.path().display();
let dir_name = display_value.to_string();
files_and_dirs.push(DiskEntry {
path: dir_name,
is_dir: is_dir(dir_name),
name: dir_name
});
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
之所以发生移动是因为
dir_name具有typestd::string::String,它没有实现Copy特征
我了解在Rust中,赋值时会四处移动。我想声明一个变量,并在第二个代码块中多次使用它。我该怎么做呢?