Dzwebs.Net

撰写电脑技术杂文十余年

rust之map,iter,filter,collect,sum的多种形式的灵活使用

Admin | 2023-3-7 10:14:43 | 被阅次数 | 1469

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  rust中的map,iter,filter,collect,sum不仅神奇,功能强大且灵活,下面为大家介绍灵活的几种形式。

  fn main(){
   let vec = vec![1, 2, 3, 4, 5];
   let vecstr:Vec<_> = vec.iter().map(|z|z.to_string()).collect();
   //let vecstr = vec.iter().map(|z|z.to_string()).collect::<Vec<_>>();
   //let vecstr:Vec<String> = vec.iter().map(|x|x.to_string()).collect();
   println!("新的Vec是:{:?}",vecstr);

   let vec = vec![1, 2, 3, 4, 5];
   //let sum = vec.iter().sum::();
   let sum:i32 = vec.iter().sum();
   println!("总和为:{}", sum);

   for num in (0..=9).filter(|x| x % 3 == 0) {
    eprint!("{},", num);
   }

  }

  let str =vec!["yes","ok","greet"];
//let mystr = str.iter().filter(|x|x.contains("e")).collect::<Vec<_>>();
let mystr:Vec<_> = str.iter().filter(|x|x.contains("e")).collect();
println!("筛选出的str:{:?}", mystr);

  /*输出如下内容
  新的Vec是:["1", "2", "3", "4", "5"]
  总和为:15
  0,3,6,9,筛选出的str:["yes", "greet"]
  */


该杂文来自: 最新技术

上一篇:rust分割字符串后使用指针通过HashMap统计每种字

下一篇:rust之thread多线程同时共享变量及修改变量的方法

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计