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

网站建设服务哪家便宜券多多是谁做的网站

网站建设服务哪家便宜,券多多是谁做的网站,广州网站开发外包,软件项目实施计划方案目录 rust中迭代器的使用#xff08;iter().map()与for循环的区别#xff09;map()与for的描述区别总结 最后更新时间2024-05-24 rust中迭代器的使用#xff08;iter().map()与for循环的区别#xff09; map()与for的描述 rust源码中关于iter().map()函数的解释#xff… 目录 rust中迭代器的使用iter().map()与for循环的区别map()与for的描述区别总结 最后更新时间2024-05-24 rust中迭代器的使用iter().map()与for循环的区别 map()与for的描述 rust源码中关于iter().map()函数的解释 // core::iter::traits::iterator::Iterator/// Takes a closure and creates an iterator which calls that closure on each/// element.////// map() transforms one iterator into another, by means of its argument:/// something that implements [FnMut]. It produces a new iterator which/// calls this closure on each element of the original iterator.////// If you are good at thinking in types, you can think of map() like this:/// If you have an iterator that gives you elements of some type A, and/// you want an iterator of some other type B, you can use map(),/// passing a closure that takes an A and returns a B.////// map() is conceptually similar to a [for] loop. However, as map() is/// lazy, it is best used when youre already working with other iterators./// If youre doing some sort of looping for a side effect, its considered/// more idiomatic to use [for] than map().////// [for]: ../../book/ch03-05-control-flow.html#looping-through-a-collection-with-for////// # Examples////// Basic usage:////// /// let a [1, 2, 3];////// let mut iter a.iter().map(|x| 2 * x);////// assert_eq!(iter.next(), Some(2));/// assert_eq!(iter.next(), Some(4));/// assert_eq!(iter.next(), Some(6));/// assert_eq!(iter.next(), None);/// ////// If youre doing some sort of side effect, prefer [for] to map():////// /// # #![allow(unused_must_use)]/// // dont do this:/// (0..5).map(|x| println!({x}));////// // it wont even execute, as it is lazy. Rust will warn you about this.////// // Instead, use for:/// for x in 0..5 {/// println!({x});/// }/// fn mapB, F(self, f: F) - MapSelf, FwhereSelf: Sized,F: FnMut(Self::Item) - B,{Map::new(self, f)}上述官方解释比较难以理解这里解释一下官方的解释 iter().map()和for循环都是用来遍历集合如Vec、数组或其他迭代器的常用方法但它们在使用场景、目的和返回值方面有所不同。 iter().map() iter().map()是Rust标准库提供的迭代器适配器方法之一用于对集合中的每个元素应用一个函数生成一个新的迭代器该迭代器产生的是原函数应用结果的序列。它主要用于数据转换且不会修改原集合。map操作是惰性的即直到你通过collect()、for_each()等方法消费这个新迭代器时转换操作才真正执行。 示例 let numbers vec![1, 2, 3, 4]; let doubled: Veci32 numbers.iter().map(|x| x * 2).collect(); // doubled 现在是 vec![2, 4, 6, 8]for循环 for循环则是一种更通用的迭代结构它可以遍历任何实现了IntoIterator特质的集合。for循环允许你对集合中的每个元素执行一系列操作这些操作可以是任意的包括打印、修改集合内容、计算某个值或调用函数等。与map()不同for循环通常用于有副作用的操作或者当不需要保留转换结果时。 示例 let mut numbers vec![1, 2, 3, 4]; for num in mut numbers {*num * 2; } // numbers 现在是 vec![2, 4, 6, 8]区别 目的 iter().map()主要用于无副作用的数据转换并生成新的数据序列而for循环适用于任何需要遍历并可能带有副作用操作的场景。 返回值 map返回一个新的迭代器其中包含转换后的值for循环没有直接返回值主要用于执行过程中的操作。 惰性与立即执行 map是惰性的需要进一步的动作如collect来实际执行转换for循环则是立即执行的。 修改原集合 map不修改原集合而for循环可以通过可变引用修改集合内容。 选择哪种方式取决于你的具体需求是否需要保留原集合、是否需要进行数据转换、以及是否执行有副作用的操作。 总结 iter().map() 主要用于将数据集中的每个元素转换为另一个形式创建出一个新的数据集不改变原数据适用于无副作用的数据转换场景。比如将一个整数集合转换为对应的字符串集合或对每个元素应用某种计算规则得到新的值并创建新的集合。 for 循环则更加灵活既可以用作简单的遍历查看元素也可以用来直接修改原数据集中的元素。当你需要对集合中的每个元素执行可能包含副作用的操作如修改元素、打印输出、基于当前元素影响外部状态等时for循环是更合适的选择。
http://www.w-s-a.com/news/994380/

相关文章:

  • 网站ie兼容性差西安小程序开发的公司
  • 上海网站建设培训app网站开发成本
  • 个人网站icp外贸网站开发 河南
  • 遵义建设网站无锡市规划建设局网站
  • 海外留学网站建设方案门户网站的发布特点
  • 网站建设不赚钱net112企业建站系统
  • 网站建设团队管理模板贵州省住房和城乡建设部网站
  • 曲沃网站建设网上学编程的有哪些比较好的网站
  • 厦门网站建设慕枫学做网站需要多久
  • 爱奇艺做任务领vip网站设计广告图片
  • 中科汇联网站建设手册上海公司名称注册查询网
  • 网站建设电子商务课总结和体会关于做网站书籍
  • 仪征网站建设公司哪家好简单网页制作素材图片
  • 甘肃第九建设集团公司网站潍坊个人做网站
  • 如何做后台网站的教程网站建设 关于我们
  • 极速网站建设哪家好连云港百度推广网站建设
  • 医院网站建设的目标wordpress中英文网站模板
  • 门户型网站开发难度网站导航栏有哪些
  • 推荐做任务网站软件定制开发哪家好
  • 邯郸兄弟建站第三方仓储配送公司
  • 商丘家具网站建设wordpress 添加代码
  • 基础建设的网站有哪些内容成都科技网站建设咨询电话
  • 券多多是谁做的网站招聘网站开发模板
  • 网站主机一般选哪种的企业数字展厅
  • 网站建设该如何学衡水建设局网站首页
  • 高校网站建设工作总结番禺网站开发哪家好
  • 苏州 网站的公司wordpress主页代码
  • 怎么用html做图片展示网站外贸网站建设推广费用
  • 可以做本地生活服务的有哪些网站中油七建公司官网
  • 如何建设谷歌网站网站建设优点