栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

什么时候使用forEach(_ :)代替for in?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

什么时候使用forEach(_ :)代替for in?

没有提供任何性能上的好处

forEach
。实际上,如果您查看源代码,该
forEach
函数实际上只是执行
for
-
in
。对于发行版,此功能相对于简单使用的性能开销
for
-
in
自己并不重要,尽管对于调试版,这会导致明显的性能影响。

的主要优势

forEach
时,你正在做的函数式编程实现,你可以把它添加到的功能调用链,而无需事先结果保存到一个单独的变量,如果你使用你需要
for
-
in
语法。因此,代替:

let objects = array.map { ... }    .filter { ... }for object in objects {    ...}

您可以改为使用功能性编程模式:

array.map { ... }    .filter { ... }    .forEach { ... }

结果是功能代码更简洁,语法噪音更少。

FWIW,Array,Dictionary和Sequence的文档都使我们想起了引入的限制

forEach
,即:

  1. 您不能使用

    break
    continue
    语句退出
    body
    关闭的当前调用或跳过后续调用。

  2. return
    body
    闭包中使用该语句将仅从当前对的调用退出
    body
    ,而不从任何外部范围退出,并且不会跳过后续调用。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/425744.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号