Rust Vev<_> 作用与用法
nxdong July 17, 2022 [Rust] #RustVec<_> 是什么,怎么用
可以少写类型,让编译器补全
避免使用 turbofish
1 2 3 4 5 6
比较
1 2 3 4 5 6 7
变量类型指定
通过注解变量类型
可以显示确定collect的类型.
1 let a = ;
2 let doubled: = a.iter
3 .map
4 .collect;
5 assert_eq!;
6
7 let doubled2: = a.iter.map.collect;
8 // collect 只关心收集目标的容器类型,可以用 _ 代替具体类型
9 let doubled2: = a.iter.map.collect;
10
如上代码,可以collect成 Vec<i32>
或者 VecDeque<i32>
使用'turbofish' : ::<>
1 let a = ;
2 let doubled = a.iter.map.;
3 // collect 只关心收集目标的容器类型,可以用 _ 代替具体类型
4 let doubled = a.iter.map.;
5 assert_eq!;
这样就不需要写变量的注解
参考
https://stackoverflow.com/a/37215830
https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.collect