Cangjie_仓颉编程-迭代器

Python迭代器

遍历一个集合 
迭代器 和 for 循环 for (let i = 0; i < arr.length; i++) 
其中最主要的差别就是:是否通过索引来访问集合   
for in

迭代协议

是指对象必须实现两个特殊的方法,即__iter__() 和 next(),以便能支持迭代操作

Cangjie迭代器

Iterator<T>	该类表示迭代器,提供 next 方法支持对容器内的成员进行迭代遍历

Iterable<E>该接口表示可迭代,实现了该接口的类型(通常为容器类型)可以在 for-in 语句中实现迭代,
    也可以获取其对应的迭代器类型实例,调用 next 函数实现迭代。


  for-in 表达式用于遍历扩展了迭代器接口 Iterable 的类型实例。在Cangjie中,for-in 适用于遍历数组、元组等数据类型
 std 模块std.collection 包函数

Rust 迭代器

中的 for 循环是编译器提供的语法糖,最终还是对迭代器中的元素进行遍历
	
迭代器之所以成为迭代器,就是因为实现了 Iterator 特征,
	  要实现该特征,最主要的就是实现其中的 next 方法,该方法控制如何从集合中取值,最终返回值的类型是关联类型 
next 方法对迭代器的遍历是消耗性的,

Golang迭代器

Go1.23 新特性:迭代器
      for range	
	    支持用户定义容器类型的 for-range 和标准化形式的迭代器
		 Go 中,yield 关键字的引入使得函数可以像迭代器一样工作

Swift

迭代器(Iterators) 和序列(Sequences) 组成了 Swift 中 for 循环的基础部分

Kotlin ,

 可以使用iterator()函数来获取集合的迭代器,并使用next()来获取下一个元素

R语言

 R语言有三种方式实现循环: (1)for循环、while循环 (2)apply函数族
posted @ 2024-11-16 16:23  辰令  阅读(82)  评论(0)    收藏  举报