尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Rust - for in 遍历数组的几种方式

Rust - for in 遍历数组的几种方式
📅 发布时间:2026/6/19 5:13:26
fn main() {let arr = [1, 2, 3, 4, 5];// 不获取所有权// for item in &arr 与 for item in arr.iter() 等价for item in &arr{println!("{} = {}", item, *item); // item 的类型是&i32}for item in arr.iter() {println!("{} = {}", item, *item); // item 的类型是&i32}let arr2 = ["a".to_string(), "a".to_string(), "a".to_string()];// 获取所有权// for item in arr 和 for item in arr.into_iter等价for item in arr2 {println!("{}", item); // item 的类型是i32}// borrow of moved value: `arr2`// value borrowed here after mov// println!("arr2.len = {}", arr2.len());  // arr2的所有权发生了转移// println!("{:?}", arr2.last()); let arr3 = [1, 2, 3, 4, 5];for item in arr3.into_iter() {println!("{}", item); // item 的类型是i32}println!("arr3.len = {}", arr3.len());  // i32实现了copy类型,所有在迭代时是复制而不是所有权转移println!("{:?}", arr3.last());// 修改数组元素,但不获取所有权// for item in &mut arr3 和 for item in arr3.iter_mut 等价let mut arr3 = [1, 2, 3, 4, 5];for item in &mut arr3 {*item *= 2; // item的类型是&mut i32}println!("{:?}", arr3); // 2, 4, 6, 8, 10for item in arr3.iter_mut() {*item /= 2;}println!("{:?}", arr3); // 1, 2, 3, 4, 5// 获取引用的所有权// for item in (&arr).into_iter 实际是for item in &arr// 明确将引用转换为迭代器// 获取引用的所有权,而不是数组的所有权// 是 for item in &arr的底层展开形式let mut arr4 = [1, 2, 3, 4, 5];for item in (&mut arr4).into_iter() {*item *= 3; // item的类型是&mut i32}println!("{:?}", arr4); let arr5 = [String::from("abc"), String::from("def")];for item in (&arr5).into_iter() {println!("{}", item); // item的类型是&String}println!("{:?}", arr5);
}

相关新闻

  • 为什么你的WASM代码一脱即溃?C语言混淆的3个致命盲区
  • C++泛型革命(从C11到C17类型安全演进之路)
  • YOLOFuse发票申请流程:企业报销必备

最新新闻

  • 2026年可靠的青岛办公工学椅/青岛人体工学椅/工学椅/商务久坐工学椅公司哪家好 - 行业平台推荐
  • 2026年比较好的惠州 LED屏/会议室LED屏厂家对比推荐 - 品牌宣传支持者
  • MC68060处理器信号控制与MMU架构:嵌入式系统稳定性的硬件基石
  • 嵌入式系统性能优化:深入解析ColdFire微控制器Cache与SRAM配置实战
  • 2026年口碑好的苏州卷材 EVA/无味 EVA/EVA优质厂家汇总推荐 - 品牌宣传支持者
  • 龙虾智能体进阶实战:自定义Skill插件开发与多模型适配方案

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号