Swift:遍历方法 for in 和 forEach的区别

同类型的泛型集合:

在集合的元素类型相同(比如上面的数组是String类型)的情况下,两者遍历效果相同,方便、敏捷,我们可以随意选用。

不同类型元素的集合:

在集合的元素类型不相同(比如上面的数组是IntString类型)的情况下,两者遍历效果相同,方便、敏捷,我们可以也随意选用。


return关键字

在使用return关键字的时候,很明显,for in中是当符合当前执行语句时,程序直接终止到此并返回, 比如上面的元素"4""5""Hello World"没有被执行;而forEach中是当符合当前执行语句时,程序跳过本次判断继续执行, 比如上面的元素"4""5""Hello World"被执行。

continue关键字

在使用continue关键字的时候,for in可以正常遍历并且执行,而且continue的作用是跳出本次循环,不影响后面的执行; 而在forEach中,swift是不允许这样执行的,报错的原因是说continue只允许出现在循环语句中,也就是说不能使用在forEach的closure中。

break关键字

break关键字中,对于for in来说是可以的,跳出本层循环,也就是for循环,然后继续执行后面的程序; 对于forEach来说,同continue关键字的效果一样,swift不允许这样使用,原因说的是break只能用于循环语句或switch语句,break会退出本层循环语句

小结:

for in 能使用 return、break、continue关键字,forEach不能使用 break、continue关键字

for in 和 forEach 在 return关键字 的使用上有着本质的区别

一般情况下,两者都可通用,都方便、敏捷

for in 使用范围比 forEach更广

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 在swift中,我们经常会用到的两种快速遍历的方法,一种是最常见也是最常用的for ... in ..., ...
    langkee阅读 27,227评论 4 33
  • 一)银行 来银行办理个业务。里面是一个个小小的工作隔间,接待我们的工作人员是个甜美的姑娘。抬头看,台子上摆了一圈小...
    简的四季笔记阅读 495评论 1 1
  • 已经一周 没有坐在这个位置去写一点东西了。这是一个事实。 今天的天气阴冷,在经历了短暂的几天春回大地的时光,温度又...
    雀岛札记阅读 201评论 0 0
  • 【龙头协会—动态直播】 2018年2月7日,成都市农业产业化龙头企业协会秘书长张宇新专赴北京,与中央电视台...
    影子哥阅读 467评论 0 0
  • 我看见那个女人的时候是三天前的一个雨夜。她穿着裙子却是个光头。光秃秃的脑袋被雨水淋得锃光瓦亮,在月光下居然反射出耀...
    九五乾谦阅读 2,330评论 12 16