在 Rocket 文档中,我发现了这种结构
request.guard::<&State<MyConfig>>().await
Run Code Online (Sandbox Code Playgroud)
我理解等待,&但这func::<type>()部分与我在其他主流语言(func()如 C++、C#、Java、python)中看到的完全不同......可能最好的答案是将我指向正确的阅读材料,因为它不是特定于框架的
struct A {...whatever...};
const MY_CONST_USIZE:usize = 127;
// somewhere in function
// vec1_of_A:Vec<A> vec2_of_A_refs:Vec<&A> have values from different data sources and have different inside_item types
let my_iterator;
if my_rand_condition() { // my_rand_condition is random and compiles for sake of simplicity
my_iterator = vec1_of_A.iter().map(|x| (MY_CONST_USIZE, &x)); // Map<Iter<Vec<A>>>
} else {
my_iterator = vec2_of_A_refs.iter().enumerate(); // Enumerate<Iter<Vec<&A>>>
}
Run Code Online (Sandbox Code Playgroud)
如何使这段代码编译?
最后(基于条件)我希望迭代器能够从两个输入构建,但我不知道如何将这些Map和Enumerate类型集成到单个变量中,而不调用collect()将迭代器具体化为Vec
欢迎阅读材料