当前位置: 首页 > wzjs >正文

樟木头网站今日最近的新闻大事10条

樟木头网站,今日最近的新闻大事10条,上海市人民政府地址,seo优化深圳迭代器是处理集合数据的重要工具,Rust 的迭代器提供了一种高效、灵活的方式来处理集合数据。 1.创建迭代器 iter():生成元素的不可变引用(&T),不转移所有权。 into_iter():转移所有权,遍历…

迭代器是处理集合数据的重要工具,Rust 的迭代器提供了一种高效、灵活的方式来处理集合数据。

1.创建迭代器
iter():生成元素的不可变引用(&T),不转移所有权。
into_iter():转移所有权,遍历后原集合不可再用。
iter_mut():生成元素的可变引用(&mut T),允许修改元素。

fn main() {let v = vec![1, 2, 3, 4, 5];let i = v.iter();let sum:i32 = i.sum();println!("{}", sum);// 使用iter创建迭代器,所有权不会转移println!("{:?}", v);let mut v2 = vec![1, 2, 3, 4, 5];// 使用iter_mut 可以修改集合元素值for i in v2.iter_mut(){*i += 2;}println!("{:?}", v2);let v3 = vec![1, 2, 3, 4, 5];let s2 = v3.into_iter();let sum2:i32 = s2.sum();println!("{}", sum2);// 使用into_iter创建迭代器,所有转移转移v3无法再使用println!("{:?}", v3);
}

2.迭代器特性
惰性求值:适配器(如 map、filter)不会立即执行,需通过消耗器(如 collect、sum)触发计算。

fn main() {let numbers = vec![1, 2, 3, 4, 5];let n1: Vec<_> = numbers.iter().map(|x| x * 2).filter(|&x| x > 5).collect();println!("{:?}", n1); 
}

3.常用适配器
map:对每个元素进行转换。
filter:保留满足条件的元素。
take_while / skip_while:基于条件提前终止或跳过。
zip:合并两个迭代器,生成元组。
enumerate:添加索引,生成 (usize, T)。

4.消耗器
collect:收集为集合。
fold:累积计算。
sum / count:求和或计数。
all / any:检查所有或任意元素满足条件。

fn main() {let v = vec![1, 2, 3, 4, 5];let result: Vec<_> = v.iter().enumerate().filter(|(i, &x)| i % 2 == 0).map(|(i, x)| x * 2).collect();println!("{:?}", result);let sum = v.iter().fold(0, |acc, &x| acc + x); // 求和println!("{}", sum);
}

5.错误处理
使用 Result 时,collect 可汇总结果:

fn main() {let results: Vec<Result<i32, &str>> = vec![Ok(1), Err("error"), Ok(3)];let res: Result<Vec<_>, _> = results.into_iter().collect(); // 遇到第一个 Err 停止match res {Ok(l) => println!("res: {:?}", l),Err(e) => eprintln!("Error reading res: {}", e),}}

总结 Rust 迭代器通过链式调用和惰性求值,提供了高效的声明式编程方式。掌握常用适配器和消耗器,能够编写简洁且高性能的代码。大力推荐使用。

http://www.dtcms.com/wzjs/398439.html

相关文章:

  • 2023年山东第二轮疫情最新消息上海最专业的seo公司
  • 动态网站如何维护万网域名查询接口
  • 企业咨询管理是做什么的南京seo整站优化技术
  • 微网站建设第一步是进行什么的设置百度官方推广
  • 怎么做网站排名靠前百度一下你就知道手机版官网
  • 建站工作室 网站建设工作室关键词排名优化品牌
  • 长沙电子商务网站建设人民日报官网
  • 尼罗发表小说做的的网站是哪个semester什么意思
  • 淄博网站建设 招聘百度账号批发网
  • 网站推广怎样做网络推广员是什么
  • 静态网页制作技术网站seo教程
  • 如何建立新闻网站小红书seo关键词优化多少钱
  • 网站建设链接演示国内专业的seo机构
  • yeti2.0 wordpress湖南网站营销seo多少费用
  • 电商网站建设求职定位北京seo的排名优化
  • 做热点图现在用什么网站广州网站快速排名优化
  • 网页设计制作一个网站山西网络营销seo
  • ss网站模板免费下载百度指数的基本功能
  • 成都网络优化公司排行榜石家庄百度快照优化
  • 微信怎么做网站的动图百度推广管家登录
  • 如何利用网站推广业务站长统计app
  • b站视频播放量网站北京新闻最新消息
  • 网站开发综合设计报告南京seo公司排名
  • o2o平台系统开发什么是seo如何进行seo
  • 网站技术有哪些网络营销推广的特点
  • 有哪些推广平台和渠道超级推荐的关键词怎么优化
  • 怎样做分类网站semir是什么意思
  • js网站分页怎么做安卓优化大师app
  • 网站建设怎么上传数据seo引擎优化是做什么的
  • 外围网站代理怎么做广东省白云区